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 provient de Microsoft.IdentityModel.Protocols ; OpenIdConnectConfigurationRetriever provient de son paquet OpenIdConnect. Gardez le client HTTP actif pendant toute sa durée de travail. Pour les URL publiques de découverte et JWKS où des intermédiaires publics sont autorisés, la liste de proxys HTTP fournit des candidats pour l'URL WebProxy.

La recherche récupère d'abord la découverte, puis utilise le même retriever fourni pour jwks_uri, lorsqu'il est présent. Ces URL peuvent avoir des hôtes différents, et le proxy doit autoriser les deux.

Pour l'authentification au proxy, configurez le compte de WebProxy avant sa construction. Ce n'est pas un secret client de l'émetteur.

Dans un service d'authentification de longue durée, confiez ce retriever au dispositif de cache et d'actualisation pris en charge plutôt que de télécharger la configuration à chaque requête entrante. Gardez la politique d'émetteur, de confiance HTTPS et de validation des jetons indépendante de ce choix de transport.

Articles similaires