在 ASP.NET Core 2 中處理多個 JWT 頒發者
本指南示範如何設定 ASP.NET Core 2 以使用來自各種來源(例如外部 API 或自訂驗證系統)的 JWT 對請求進行驗證。 雖然標準 ASP.NET Core JWT 承載身份驗證通常支援單一權限,但可以透過多方案方法克服此限制。
設定步驟
實現對多個 JWT 發行者的支援涉及以下關鍵步驟:
AddAuthentication
中間件而不指定預設方案。 AddJwtBearer
定義每個驗證方案,為每個方案分配一個唯一的名稱。分別為每個方案配置 Authority
和 TokenValidationParameters
。 這是說明此配置的程式碼範例:
<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>
進階注意事項與故障排除
IDX10501
錯誤通常是由系統的策略評估順序引起的。 仔細檢查您的策略配置至關重要。 此方法可讓您在 ASP.NET Core 2 應用程式中無縫整合來自多個 JWT 頒發者的身份驗證和授權。
以上是如何在 ASP.NET Core 中支援多個 JWT 頒發者?的詳細內容。更多資訊請關注PHP中文網其他相關文章!