本指南演示如何通过定义单独的身份验证方案来配置 ASP.NET Core 以使用多个 JWT 令牌颁发者进行身份验证。
创建自定义 JWT 承载方案:
<code class="language-csharp">services.AddAuthentication("Custom") .AddJwtBearer("Custom", options => { // Custom issuer configuration... });</code>
要使用 Firebase 和您的自定义方案启用身份验证,请修改默认授权策略:
<code class="language-csharp">services.AddAuthorization(options => { options.DefaultPolicy = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .AddAuthenticationSchemes("Firebase", "Custom") .Build(); });</code>
为每个身份验证方案指定 JWT 承载选项:
<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>
IDX10501
错误(例如,忽略它们)。以上是如何在 ASP.NET Core 中支持多个 JWT 令牌颁发者?的详细内容。更多信息请关注PHP中文网其他相关文章!