requests-oauthlib: stel de proxy van OAuth2Session in vóór fetch_token
Gebruik dezelfde proxybewuste sessie voor het verkrijgen van het token en voor beschermde bronnen, en houd de bestaande OAuth-stroom intact.
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 breidt de Session van Requests uit. Bouw het met de bestaande clientregistratie van de applicatie, de redirect-URI, state en scopes, en stel daarna de route in vóór de tokenuitwisseling. Voor een openbare HTTP-route levert een kandidaat uit de HTTP-proxylijst het adres in de proxymap van deze sessie.
Roep fetch_token en de bewerkingen op beschermde bronnen aan op deze sessie. Een proxies-argument dat alleen aan fetch_token wordt meegegeven, geldt voor die uitwisseling; het installeert geen blijvende route voor latere aanroepen.
Het bezoek aan de autorisatiepagina in de browser gebruikt de route van de browser. Python doet het tokenverzoek apart, dus succes in de browser configureert deze sessie niet.
De omgevingsintegratie van Requests kan de proxykeuze van de sessie beïnvloeden. Voor een strikte route die eigendom is van de applicatie, bekijk trust_env; het uitschakelen vereist ook dat benodigde CA- of authenticatie-instellingen expliciet worden opgegeven.
Een OAuth-fout die een token-endpoint teruggeeft, kan via een werkende proxy binnenkomen. Bewaar dat antwoord apart van proxyauthenticatie, waarvan de inloggegevens verschillen van clientgeheimen en toegangstokens.