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 pinalawak ang Session ng Requests. Buuin ito gamit ang umiiral na client registration ng app, redirect URI, state at scopes, pagkatapos itakda ang ruta nito bago ang palitan ng token. Para sa pampublikong rutang HTTP, isang kandidato mula sa listahan ng HTTP proxy ang nagbibigay ng address sa proxy map ng sesyong ito.

Tawagin ang fetch_token at ang mga operasyon sa protektadong resource sa sesyong ito. Ang argumentong proxies na ibinibigay lamang sa fetch_token ay nalalapat sa palitang iyon; hindi ito nag-i-install ng permanenteng ruta para sa mga susunod na tawag.

Ang pagbisita sa pahina ng awtorisasyon sa browser ay gumagamit ng ruta ng browser. Hiwalay na ginagawa ng Python ang kahilingan ng token, kaya hindi kinokonfigura ng tagumpay sa browser ang sesyong ito.

Ang integrasyon ng Requests sa kapaligiran ay maaaring makaapekto sa pagpili ng proxy ng sesyon. Para sa mahigpit na rutang pagmamay-ari ng app, suriin ang trust_env; ang pagpapawalang-bisa nito ay nangangailangan din ng tahasang pagbibigay ng anumang kinakailangang setting ng CA o authentication.

Ang error sa OAuth na ibinalik ng isang token endpoint ay maaaring dumating sa pamamagitan ng gumaganang proxy. Itabi ang tugon na iyon nang hiwalay sa authentication ng proxy, na ang mga kredensyal ay naiiba sa client secret at access token.

Kaugnay na mga artikulo