Impostazioni proxy di Authlib: Requests contro HTTPX
Scegliete i proxy di sessione di Requests o l'argomento proxy del client HTTPX in base all'integrazione Authlib in uso.
Controllate l'import di Authlib prima di scegliere un argomento proxy. Le sue integrazioni Requests e HTTPX espongono una configurazione di trasporto diversa.
L'OAuth2Session di Requests eredita il comportamento di Session di 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'integrazione HTTPX asincrona corrispondente riceve l'argomento proxy a livello di client durante la costruzione:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
L'esempio HTTPX usa l'opzione proxy singolare supportata da Authlib 1.9.1. Quell'integrazione passa le opzioni di trasporto riconosciute al proprio client HTTP sottostante. Un dizionario proxies in stile Requests non è un argomento del costruttore intercambiabile. Per gli endpoint pubblici di token e API su una rotta proxy pubblica consentita, la lista di proxy HTTP fornisce candidati per gli URL proxy HTTP di entrambi gli esempi.
Mantenete la registrazione OAuth esistente dell'applicazione, l'URI di reindirizzamento, gli scopes e la gestione dei token quando applicate una delle due configurazioni. Usate il client configurato per le operazioni sui token e sulle risorse protette e chiudetelo tramite il suo normale ciclo di vita sincrono o asincrono.
Gli helper del framework possono creare questi client per conto dell'applicazione. Esaminate l'integrazione dell'helper e le opzioni di costruzione del client prima di passare argomenti al momento della richiesta. Una parola chiave proxies accettata da una richiesta di token Requests non dimostra che una richiesta HTTPX asincrona la accetti.