var handler = new HttpClientHandler
{
    Proxy = new WebProxy("http://proxy.example:8080"),
    UseProxy = true
};
var http = new HttpClient(handler);
var documents = new HttpDocumentRetriever(http);

var configuration = await OpenIdConnectConfigurationRetriever.GetAsync(
    "https://issuer.example/.well-known/openid-configuration",
    documents,
    cancellationToken);

HttpDocumentRetriever stammt aus Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever stammt aus dessen OpenIdConnect-Paket. Halten Sie den HTTP-Client für seine gesamte Laufzeit aktiv. Für öffentliche Discovery- und JWKS-URLs, bei denen öffentliche Vermittler zulässig sind, liefert die HTTP-Proxy-Liste Kandidaten für die WebProxy-URL.

Die Suche lädt zuerst die Discovery und nutzt dann denselben übergebenen Retriever für jwks_uri, sofern vorhanden. Diese URLs können auf verschiedenen Hosts liegen, und der Proxy muss beide zulassen.

Für die Proxy-Authentifizierung konfigurieren Sie das Konto von WebProxy vor der Konstruktion. Es ist kein Client-Geheimnis des Ausstellers.

In einem langlebigen Authentifizierungsdienst übergeben Sie diesen Retriever an die unterstützte Cache- und Refresh-Regelung, statt die Konfiguration für jede eingehende Anfrage herunterzuladen. Halten Sie Aussteller-, HTTPS-Vertrauens- und Token-Validierungsrichtlinie unabhängig von dieser Transportwahl.

Ähnliche Artikel