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 パスを保持します。

関連記事