ASP.NET Core 2 での複数の JWT 発行者の処理
このガイドでは、外部 API やカスタム認証システムなど、さまざまなソースからの JWT を使用してリクエストを認証するように ASP.NET Core 2 を構成する方法を説明します。 標準の ASP.NET Core JWT Bearer 認証は通常、単一の機関をサポートしますが、この制限はマルチスキームのアプローチで克服できます。
構成手順
複数の 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 中国語 Web サイトの他の関連記事を参照してください。