from requests_oauthlib import OAuth2Session

session = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri)
session.proxies.update({
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
})

OAuth2Session étend la Session de Requests. Construisez-la avec l'enregistrement client existant de l'application, l'URI de redirection, l'state et les scopes, puis définissez sa route avant l'échange du jeton. Pour une route HTTP publique, un candidat de la liste de proxys HTTP fournit l'adresse dans la table de proxys de cette session.

Appelez fetch_token et les opérations sur les ressources protégées sur cette session. Un argument proxies transmis uniquement à fetch_token ne s'applique qu'à cet échange ; il n'installe pas de route durable pour les appels ultérieurs.

La visite de la page d'autorisation dans le navigateur utilise la route du navigateur. Python effectue la requête de jeton séparément, donc un succès dans le navigateur ne configure pas cette session.

L'intégration de Requests à l'environnement peut influencer le choix du proxy de la session. Pour une route stricte maîtrisée par l'application, examinez trust_env ; le désactiver exige aussi de fournir explicitement les réglages d'autorité de certification ou d'authentification nécessaires.

Une erreur OAuth renvoyée par un point de terminaison de jeton peut arriver via un proxy qui fonctionne. Conservez cette réponse séparément de l'authentification du proxy, dont les identifiants diffèrent des secrets client et des jetons d'accès.

Articles similaires