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 pochodzi z Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever pochodzi z jego pakietu OpenIdConnect. Utrzymuj klienta HTTP przy życiu przez cały czas jego pracy. Dla publicznych adresów discovery i JWKS, gdzie dozwolone są publiczne pośredniki, lista proxy HTTP oferuje kandydatów na adres WebProxy.

Wyszukiwanie najpierw pobiera discovery, a następnie używa tego samego dostarczonego retrievera dla jwks_uri, gdy jest obecny. Te adresy mogą mieć różne hosty, a proxy musi zezwalać na oba.

Do uwierzytelniania proxy skonfiguruj konto WebProxy przed utworzeniem. To nie jest sekret klienta wystawcy.

W długo działającej usłudze uwierzytelniania przekaż ten retriever obsługiwanemu mechanizmowi pamięci podręcznej i odświeżania zamiast pobierać konfigurację przy każdym przychodzącym żądaniu. Utrzymuj politykę wystawcy, zaufania HTTPS i walidacji tokenów niezależnie od tego wyboru transportu.

Powiązane artykuły