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 паходзіць з Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever — з яго пакета OpenIdConnect. Трымайце HTTP-кліент жывым на ўвесь час яго працы. Для публічных адрасоў discovery і JWKS, дзе дапускаюцца публічныя пасярэднікі, спіс HTTP-проксі дае кандыдатаў для адраса WebProxy.

Пошук спачатку атрымлівае discovery, а затым выкарыстоўвае той жа перададзены retriever для jwks_uri, калі ён ёсць. Гэтыя адрасы могуць мець розныя хасты, і проксі павінен дазваляць абодва.

Для аўтэнтыфікацыі на проксі наладзьце ўліковы запіс WebProxy да стварэння. Гэта не кліенцкі сакрэт выдаўца.

У доўгапрацуючай службе аўтэнтыфікацыі перадайце гэты retriever падтрымліваемай схеме кэшавання і абнаўлення, а не спампоўвайце канфігурацыю на кожны ўваходны запыт. Трымайце палітыку выдаўца, даверу HTTPS і праверкі токенаў незалежнай ад гэтага выбару транспарту.

Падобныя артыкулы