Setările de proxy din Authlib: Requests față de HTTPX
Alegeți proxy-urile de sesiune Requests sau argumentul proxy al clientului HTTPX în funcție de integrarea Authlib folosită.
Verificați importul Authlib înainte de a alege un argument proxy. Integrările sale Requests și HTTPX expun o configurație de transport diferită.
OAuth2Session din Requests moștenește comportamentul Session din 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",
})
Integrarea asincronă HTTPX corespunzătoare preia argumentul proxy la nivel de client în timpul construirii:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
Exemplul HTTPX folosește opțiunea proxy la singular acceptată de Authlib 1.9.1. Acea integrare transmite opțiunile de transport recunoscute clientului său HTTP subiacent. Un dicționar proxies în stil Requests nu este un argument de constructor interschimbabil. Pentru punctele finale publice de token și API pe o rută de proxy publică permisă, lista de proxy-uri HTTP oferă candidați pentru URL-urile de proxy HTTP din ambele exemple.
Păstrați înregistrarea OAuth existentă a aplicației, redirect URI, scopes și gestionarea tokenurilor atunci când aplicați oricare dintre configurații. Folosiți clientul configurat pentru operațiile cu tokenuri și resurse protejate și închideți-l prin ciclul său de viață sincron sau asincron obișnuit.
Ajutoarele frameworkului pot crea acești clienți în numele aplicației. Inspectați integrarea ajutorului și opțiunile de construire a clientului înainte de a transmite argumente în momentul cererii. Un cuvânt-cheie proxies acceptat de o cerere de token Requests nu dovedește că o cerere HTTPX asincronă îl acceptă.