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.

Articoli correlati