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 rozszerza Session z Requests. Zbuduj go z istniejącą rejestracją klienta aplikacji, redirect URI, state i scopes, a następnie ustaw jego trasę przed wymianą tokenu. Dla publicznej trasy HTTP kandydat z listy proxy HTTP dostarcza adres w mapie proxy tej sesji.

Wywołaj fetch_token oraz operacje na chronionych zasobach w tej sesji. Argument proxies przekazany tylko do fetch_token dotyczy tej wymiany; nie instaluje trwałej trasy dla późniejszych wywołań.

Wizyta na stronie autoryzacji w przeglądarce używa trasy przeglądarki. Python wykonuje żądanie tokenu osobno, więc sukces w przeglądarce nie konfiguruje tej sesji.

Integracja Requests ze środowiskiem może wpływać na wybór proxy sesji. W przypadku ścisłej trasy należącej do aplikacji sprawdź trust_env; jego wyłączenie wymaga też jawnego podania potrzebnych ustawień CA lub uwierzytelniania.

Błąd OAuth zwrócony przez endpoint tokenu może dotrzeć przez działające proxy. Zachowaj tę odpowiedź oddzielnie od uwierzytelniania proxy, którego dane różnią się od sekretów klienta i tokenów dostępu.

Powiązane artykuły