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 :
AddAuthentication
middleware sans spécifier de schéma par défaut.AddJwtBearer
, en attribuant un nom unique à chacun. Configurez le Authority
et le TokenValidationParameters
pour chaque schéma individuellement.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>
Considérations avancées et dépannage
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!