Réglages de proxy d'Authlib : Requests ou HTTPX
Choisissez les proxys de session de Requests ou l'argument proxy du client HTTPX selon l'intégration Authlib utilisée.
Vérifiez l'import d'Authlib avant de choisir un argument de proxy. Ses intégrations Requests et HTTPX exposent une configuration de transport différente.
L'OAuth2Session de Requests hérite du comportement de Session de Requests :
from authlib.integrations.requests_client import OAuth2Session
client = OAuth2Session(client_id=client_id)
client.proxies.update({
"http": "http://proxy.example.net:8080",
"https": "http://proxy.example.net:8080",
})
L'intégration HTTPX asynchrone correspondante reçoit l'argument proxy au niveau du client lors de la construction :
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
L'exemple HTTPX utilise l'option proxy au singulier prise en charge par Authlib 1.9.1. Cette intégration transmet les options de transport reconnues à son client HTTP sous-jacent. Un dictionnaire proxies de style Requests n'est pas un argument de constructeur interchangeable. Pour les points de terminaison publics de jeton et d'API sur une route de proxy public autorisée, la liste de proxys HTTP fournit des candidats pour les URL de proxy HTTP des deux exemples.
Conservez l'enregistrement OAuth existant de l'application, l'URI de redirection, les scopes et la gestion des jetons lorsque vous appliquez l'une ou l'autre configuration. Utilisez le client configuré pour les opérations de jeton et de ressources protégées, et fermez-le via son cycle de vie synchrone ou asynchrone habituel.
Les assistants de framework peuvent créer ces clients au nom de l'application. Examinez l'intégration de l'assistant et les options de construction du client avant de transmettre des arguments au moment de la requête. Un mot-clé proxies accepté par une requête de jeton Requests ne prouve pas qu'une requête HTTPX asynchrone l'accepte.