Configuración de proxy de Authlib: Requests fronte a HTTPX
Escolla os proxys de sesión de Requests ou o argumento proxy do cliente HTTPX segundo a integración de Authlib que use.
Comprobe a importación de Authlib antes de escoller un argumento de proxy. As súas integracións Requests e HTTPX expoñen unha configuración de transporte distinta.
OAuth2Session de Requests herda o comportamento 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",
})
A integración asíncrona correspondente de HTTPX recibe o argumento proxy a nivel de cliente durante a construción:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
O exemplo de HTTPX usa a opción proxy singular que admite Authlib 1.9.1. Esa integración pasa as opcións de transporte recoñecidas ao seu cliente HTTP subxacente. Un dicionario proxies ao estilo de Requests non é un argumento de construtor intercambiable. Para os puntos de conexión públicos de token e API nunha ruta de proxy pública permitida, a lista de proxys HTTP ofrece candidatos para os URL de proxy HTTP de ambos os exemplos.
Manteña o rexistro OAuth existente da aplicación, o URI de redirección, os scopes e o manexo de tokens ao aplicar calquera das dúas configuracións. Use o cliente configurado para as operacións de token e de recursos protexidos, e pécheo mediante o seu ciclo de vida síncrono ou asíncrono habitual.
Os asistentes do framework poden crear estes clientes en nome da aplicación. Inspeccione a integración do asistente e as opcións de construción do cliente antes de pasar argumentos en tempo de petición. Unha palabra clave proxies aceptada por unha petición de token de Requests non demostra que unha petición asíncrona de HTTPX a acepte.