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 разширява Session на Requests. Създайте го с регистрацията на клиента, redirect URI, state и scopes на приложението, след което задайте маршрута му преди обмена на токена. За публичен HTTP маршрут кандидат от списъка с HTTP проксита предоставя адреса в картата с проксита на тази сесия.

Извикайте fetch_token и операциите със защитени ресурси върху тази сесия. Аргумент proxies, подаден само на fetch_token, се прилага за този обмен; той не задава траен маршрут за следващите извиквания.

Посещението на страницата за оторизация в браузъра използва маршрута на браузъра. Python прави заявката за токен отделно, така че успехът в браузъра не конфигурира тази сесия.

Интеграцията на Requests с обкръжението може да повлияе на избора на прокси за сесията. За строг маршрут, управляван от приложението, прегледайте trust_env; изключването му изисква също явно подаване на необходимите CA или настройки за удостоверяване.

OAuth грешка, върната от token endpoint, може да дойде през работещо прокси. Запазете този отговор отделно от удостоверяването на проксито, чиито данни са различни от client secret и access token.

Подобни статии