首頁 > 後端開發 > C++ > 如何在 ASP.NET Core 中支援多個 JWT 頒發者?

如何在 ASP.NET Core 中支援多個 JWT 頒發者?

Susan Sarandon
發布: 2025-01-12 06:23:44
原創
252 人瀏覽過

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

在 ASP.NET Core 2 中處理多個 JWT 頒發者

本指南示範如何設定 ASP.NET Core 2 以使用來自各種來源(例如外部 API 或自訂驗證系統)的 JWT 對請求進行驗證。 雖然標準 ASP.NET Core JWT 承載身份驗證通常支援單一權限,但可以透過多方案方法克服此限制。

設定步驟

實現對多個 JWT 發行者的支援涉及以下關鍵步驟:

  1. 新增 AddAuthentication 中間件而不指定預設方案。
  2. 使用AddJwtBearer定義每個驗證方案,為每個方案分配一個唯一的名稱。分別為每個方案配置 AuthorityTokenValidationParameters
  3. 修改預設授權策略以接受所有配置的身份驗證方案。

這是說明此配置的程式碼範例:

<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>
登入後複製

進階注意事項與故障排除

  • 對於複雜的授權需求,請利用基於策略的授權。
  • 在 .NET Core 6 及更高版本中,請記住明確設定預設驗證方案。
  • IDX10501錯誤通常是由系統的策略評估順序引起的。 仔細檢查您的策略配置至關重要。

此方法可讓您在 ASP.NET Core 2 應用程式中無縫整合來自多個 JWT 頒發者的身份驗證和授權。

以上是如何在 ASP.NET Core 中支援多個 JWT 頒發者?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板