ASP.NET Core JWT Bearer: メタデータ用 backchannel プロキシを設定する
取得が始まる前に BackchannelHttpHandler を構成します。ただし、完全なクライアントや独自の構成マネージャーがすでにそのトランスポートを所有している場合は除きます。
API がベアラー トークンを受け取っても、サーバーのメタデータと署名キーのダウンロードで失敗することがあります。その JWT ベアラー スキームを、既存の登録の後かつ要求の前に構成します。
using System.Net;
using Microsoft.AspNetCore.Authentication.JwtBearer;
builder.Services.Configure<JwtBearerOptions>(
JwtBearerDefaults.AuthenticationScheme, options =>
{
options.BackchannelHttpHandler = new HttpClientHandler
{
UseProxy = true,
Proxy = new WebProxy("http://proxy.example:8080")
};
});登録名と一致させてください。既定の Bearer と異なる場合は、実際の名前を使用します。Authority、Audience、既存のトークン パラメーターは維持します。公開メタデータと署名キーのエンドポイントでは、パブリック プロキシ経由のアクセスが許可されている場合、このアカウント不要の WebProxy URL に HTTP プロキシ一覧の候補を使用できます。
標準のセットアップでは、ポスト構成がこのハンドラーから backchannel を作成します。完全な Backchannel または独自の ConfigurationManager がすでに取得者を提供している場合は、代わりにそのオブジェクトを構成します。ハンドラーのプロパティが両方を上書きすることはありません。
プロキシ アカウントは使用前に WebProxy に設定し、SendAsync 内で Proxy を変更しないでください。issuer、audience、署名、有効期間、追加の検証コントロールは維持します。OIDC ログインと個別のトークン取得は、それぞれ独自の HTTP パスを保持します。