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

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

DDD
DDDoriginal
2025-01-12 07:03:43855parcourir

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

Authentification JWT multi-émetteurs dans ASP.NET Core

Ce guide montre comment configurer ASP.NET Core pour s'authentifier à l'aide de plusieurs émetteurs de jetons JWT en définissant des schémas d'authentification distincts.

Configuration de plusieurs émetteurs

Créez un schéma de support JWT personnalisé :

<code class="language-csharp">services.AddAuthentication("Custom")
    .AddJwtBearer("Custom", options =>
    {
        // Custom issuer configuration...
    });</code>

Ajustement des politiques d'autorisation

Pour activer l'authentification à l'aide de Firebase et de votre schéma personnalisé, modifiez la politique d'autorisation par défaut :

<code class="language-csharp">services.AddAuthorization(options =>
{
    options.DefaultPolicy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .AddAuthenticationSchemes("Firebase", "Custom")
        .Build();
});</code>

Configuration des options du porteur JWT

Spécifiez les options du porteur JWT pour chaque schéma d'authentification :

<code class="language-csharp">services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .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
        };
    });</code>

Remarques importantes

  • ASP.NET Core 6 : Un schéma d'authentification par défaut est obligatoire.
  • Échecs d'authentification : Gérez IDX10501 les erreurs de manière appropriée lors de l'utilisation de plusieurs schémas (par exemple, en les ignorant).
  • Autorisation fine : Implémentez des politiques personnalisées pour un contrôle d'autorisation plus précis.

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!

Déclaration:
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