ホームページ >バックエンド開発 >C++ >ASP.NET Core で複数の JWT トークン発行者をサポートするにはどうすればよいですか?

ASP.NET Core で複数の JWT トークン発行者をサポートするにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-12 07:03:43809ブラウズ

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

ASP.NET Core での複数発行者 JWT 認証

このガイドでは、個別の認証スキームを定義することにより、複数の JWT トークン発行者を使用して認証するように ASP.NET Core を構成する方法を説明します。

複数の発行者の構成

カスタム 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 ベアラー オプションの構成

各認証スキームの 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>

重要な注意事項

  • ASP.NET Core 6 : デフォルトの認証スキームは必須です。
  • 認証失敗: 複数のスキームを使用する場合、IDX10501 エラーを適切に処理します (例: 無視するなど)。
  • きめ細かい認可: カスタム ポリシーを実装して、より正確な認可制御を実現します。

以上がASP.NET Core で複数の JWT トークン発行者をサポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。