Maison > développement back-end > C++ > Comment prendre en charge plusieurs émetteurs JWT dans ASP.NET Core ?

Comment prendre en charge plusieurs émetteurs JWT dans ASP.NET Core ?

Susan Sarandon
Libérer: 2025-01-12 06:23:44
original
251 Les gens l'ont consulté

How to Support Multiple JWT Issuers in ASP.NET Core?

Gestion de plusieurs émetteurs JWT dans ASP.NET Core 2

Ce guide montre comment configurer ASP.NET Core 2 pour authentifier les requêtes à l'aide de JWT provenant de diverses sources, telles que des API externes ou des systèmes d'authentification personnalisés. Bien que l'authentification standard du porteur ASP.NET Core JWT prenne généralement en charge une seule autorité, cette limitation peut être surmontée grâce à une approche multi-schémas.

Étapes de configuration

La mise en œuvre de la prise en charge de plusieurs émetteurs JWT implique ces étapes clés :

  1. Ajoutez le AddAuthentication middleware sans spécifier de schéma par défaut.
  2. Définissez chaque schéma d'authentification à l'aide de AddJwtBearer, en attribuant un nom unique à chacun. Configurez le Authority et le TokenValidationParameters pour chaque schéma individuellement.
  3. Modifiez la stratégie d'autorisation par défaut pour accepter tous les schémas d'authentification configurés.

Voici un exemple de code illustrant cette configuration :

<code class="language-csharp">services
    .AddAuthentication()
    .AddJwtBearer("Firebase", options =>
    {
        options.Authority = "https://securetoken.google.com/my-firebase-project";
        options.TokenValidationParameters = new TokenValidationParameters
        {
            ValidateIssuer = true,
            ValidIssuer = "my-firebase-project",
            ValidateAudience = true,
            ValidAudience = "my-firebase-project",
            ValidateLifetime = true
        };
    })
    .AddJwtBearer("Custom", options =>
    {
        // Custom JWT token configuration
    });

services
    .AddAuthorization(options =>
    {
        options.DefaultPolicy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .AddAuthenticationSchemes("Firebase", "Custom")
            .Build();
    });</code>
Copier après la connexion

Considérations avancées et dépannage

  • Pour les besoins d'autorisation complexes, tirez parti de l'autorisation basée sur des stratégies.
  • Dans .NET Core 6 et versions ultérieures, n'oubliez pas de définir explicitement un schéma d'authentification par défaut.
  • L'erreur IDX10501 résulte souvent de l'ordre d'évaluation des politiques du système. Un examen attentif des configurations de vos politiques est crucial.

Cette méthode vous permet d'intégrer de manière transparente l'authentification et l'autorisation de plusieurs émetteurs JWT dans votre application ASP.NET Core 2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal