Heim > Backend-Entwicklung > C++ > Wie kann ich mehrere JWT-Bearer-Authentifizierungsschemata in ASP.NET Core 2 implementieren?

Wie kann ich mehrere JWT-Bearer-Authentifizierungsschemata in ASP.NET Core 2 implementieren?

Mary-Kate Olsen
Freigeben: 2025-01-12 06:52:43
Original
868 Leute haben es durchsucht

How Can I Implement Multiple JWT Bearer Authentication Schemes in ASP.NET Core 2?

Implementieren der Authentifizierung mehrerer JWT-Bearer in ASP.NET Core 2

Die Herausforderung: Wie können wir den API-Zugriff von mehreren externen Diensten mithilfe verschiedener JWT-Token-Aussteller in ASP.NET Core 2 ermöglichen? Insbesondere müssen wir die Authentifizierung sowohl von Firebase als auch von einem benutzerdefinierten JWT-Anbieter unterstützen.

Die Lösung: Die Flexibilität von ASP.NET Core ermöglicht die Konfiguration mehrerer Authentifizierungsschemata und ermöglicht so die Authentifizierung aus verschiedenen JWT-Quellen. So geht's:

AddAuthentication richtig verwenden

Der häufigste Fehler besteht darin, AddAuthentication ohne Parameter aufzurufen. Für mehrere Authentifizierungsschemata müssen Sie die Überladung verwenden, die einen Zeichenfolgenparameter akzeptiert, der den Schemanamen darstellt.

Konfigurieren mehrerer JWT-Trägerschemata

Mehrmals AddJwtBearer verwenden, einmal für jedes Authentifizierungsschema (z. B. „Firebase“ und „Benutzerdefiniert“). Geben Sie in jedem Aufruf die Authority und TokenValidationParameters an, die für jeden JWT-Aussteller spezifisch sind.

Ändern der Standardautorisierungsrichtlinie

Die Standardauthentifizierungsrichtlinie muss aktualisiert werden, um die verschiedenen Schemata zu berücksichtigen. Verwenden Sie AddAuthorization, um Richtlinien zu konfigurieren, einschließlich DefaultPolicy. Stellen Sie sicher, dass sowohl das „Firebase“- als auch das „Benutzerdefiniert“-Schema im DefaultPolicy.

enthalten sind

Codebeispiel

Dieses Beispiel zeigt die richtige Konfiguration:

<code class="language-csharp">services
    .AddAuthentication()
    .AddJwtBearer("Firebase", options =>
    {
        // Configure Firebase JWT authentication settings here
    })
    .AddJwtBearer("Custom", options =>
    {
        // Configure Custom JWT authentication settings here
    });

services
    .AddAuthorization(options =>
    {
        options.DefaultPolicy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .AddAuthenticationSchemes("Firebase", "Custom")
            .Build();
    });</code>
Nach dem Login kopieren

Erweiterte Autorisierungsszenarien

Für komplizierte Autorisierungsanforderungen nutzen Sie die richtlinienbasierte Autorisierung. Auf diese Weise können Sie Richtlinien erstellen, die Authentifizierungsschemata und Anspruchsanforderungen festlegen.

.NET Core 6 und höher

Neuere .NET Core-Versionen erfordern die Angabe eines Standardauthentifizierungsschemas in AddAuthentication.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere JWT-Bearer-Authentifizierungsschemata in ASP.NET Core 2 implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage