from requests_oauthlib import OAuth2Session

session = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri)
session.proxies.update({
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
})

OAuth2Session amplía Session de Requests. Constrúyalo con el registro de cliente existente de la aplicación, el URI de redirección, el state y los scopes, y luego establezca su ruta antes del intercambio del token. Para una ruta HTTP pública, un candidato de la lista de proxies HTTP proporciona la dirección en el mapa de proxy de esta sesión.

Llame a fetch_token y a las operaciones de recursos protegidos en esta sesión. Un argumento proxies pasado solo a fetch_token se aplica a ese intercambio; no instala una ruta permanente para llamadas posteriores.

La visita a la página de autorización del navegador usa la ruta del navegador. Python realiza la solicitud del token por separado, así que el éxito en el navegador no configura esta sesión.

La integración de Requests con el entorno puede afectar la selección de proxy de la sesión. Para una ruta estricta propiedad de la aplicación, revise trust_env; desactivarlo también requiere proporcionar explícitamente cualquier ajuste de CA o autenticación necesario.

Un error OAuth devuelto por un endpoint de token puede llegar a través de un proxy que funciona. Conserve esa respuesta por separado de la autenticación del proxy, cuyas credenciales son distintas de los secretos de cliente y los tokens de acceso.

Artículos relacionados