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 ay nagmula sa Microsoft.IdentityModel.Protocols; ang OpenIdConnectConfigurationRetriever ay nagmula sa OpenIdConnect package nito. Panatilihing buhay ang HTTP client sa buong yugto ng trabaho nito. Para sa pampublikong discovery at JWKS URL kung saan pinapayagan ang pampublikong tagapamagitan, ang listahan ng HTTP proxy ay nag-aalok ng mga kandidato para sa WebProxy URL.

Ang paghahanap ay kumukuha muna ng discovery, pagkatapos ay ginagamit ang parehong ibinigay na retriever para sa jwks_uri kapag mayroon. Ang mga URL na iyon ay maaaring nasa magkaibang host, at dapat pahintulutan ng proxy ang dalawa.

Para sa proxy authentication, i-configure ang account ng WebProxy bago ang pagbuo. Hindi ito client secret ng issuer.

Sa isang pangmatagalang serbisyo ng authentication, ibigay ang retriever na ito sa sinusuportahang cache at refresh na kaayusan sa halip na i-download ang configuration para sa bawat papasok na kahilingan. Panatilihing independiyente sa pagpiling ito ng transport ang patakaran sa issuer, tiwala sa HTTPS at pag-validate ng token.

Kaugnay na mga artikulo