requests-oauthlib: defina o proxy do OAuth2Session antes de fetch_token
Use a mesma sessão ciente do proxy para obter o token e acessar recursos protegidos, mantendo o fluxo OAuth existente intacto.
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 estende a Session do Requests. Construa-o com o registro de cliente existente da aplicação, o redirect URI, o state e os scopes, e então defina sua rota antes da troca do token. Para uma rota HTTP pública, um candidato da lista de proxies HTTP fornece o endereço no mapa de proxy desta sessão.
Chame fetch_token e as operações de recursos protegidos nesta sessão. Um argumento proxies passado apenas para fetch_token aplica-se a essa troca; ele não instala uma rota duradoura para chamadas posteriores.
A visita à página de autorização no navegador usa a rota do navegador. O Python faz a solicitação do token separadamente, então o sucesso no navegador não configura esta sessão.
A integração do Requests com o ambiente pode afetar a seleção de proxy da sessão. Para uma rota estrita de propriedade da aplicação, revise trust_env; desativá-lo também exige fornecer explicitamente quaisquer ajustes de CA ou autenticação necessários.
Um erro OAuth retornado por um endpoint de token pode chegar por meio de um proxy que funciona. Preserve essa resposta separadamente da autenticação do proxy, cujas credenciais são distintas dos segredos de cliente e dos tokens de acesso.