Comproveu la importació d'Authlib abans de triar un argument de proxy. Les seves integracions Requests i HTTPX exposen una configuració de transport diferent.

L'OAuth2Session de Requests hereta el comportament 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",
})

La integració asíncrona corresponent d'HTTPX rep l'argument de proxy a nivell de client durant la construcció:

from authlib.integrations.httpx_client import AsyncOAuth2Client

client = AsyncOAuth2Client(
    client_id=client_id,
    proxy="http://proxy.example.net:8080",
)

L'exemple d'HTTPX fa servir l'opció proxy singular que admet Authlib 1.9.1. Aquesta integració passa les opcions de transport reconegudes al seu client HTTP subjacent. Un diccionari proxies a l'estil de Requests no és un argument de constructor intercanviable. Per als punts finals públics de token i API en una ruta de proxy públic permesa, la llista de proxys HTTP ofereix candidats per als URL de proxy HTTP de tots dos exemples.

Manteniu el registre OAuth existent de l'aplicació, l'URI de redirecció, els àmbits i la gestió de tokens en aplicar qualsevol de les dues configuracions. Feu servir el client configurat per a les operacions de token i de recursos protegits, i tanqueu-lo mitjançant el seu cicle de vida síncron o asíncron habitual.

Els auxiliars del framework poden crear aquests clients en nom de l'aplicació. Inspeccioneu la integració de l'auxiliar i les opcions de construcció del client abans de passar arguments en temps de petició. Una paraula clau proxies acceptada per una petició de token de Requests no demostra que una petició asíncrona d'HTTPX l'accepti.

Articles relacionats