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 erweitert die Session von Requests. Erstellen Sie es mit der vorhandenen Client-Registrierung, Redirect-URI, State und den Scopes der Anwendung und legen Sie dann seine Route vor dem Tokenaustausch fest. Für eine öffentliche HTTP-Route liefert ein Kandidat aus der HTTP-Proxy-Liste die Adresse in der Proxy-Zuordnung dieser Sitzung.

Rufen Sie fetch_token und die Operationen für geschützte Ressourcen auf dieser Sitzung auf. Ein proxies-Argument, das nur an fetch_token übergeben wird, gilt für diesen Austausch; es richtet keine dauerhafte Route für spätere Aufrufe ein.

Der Besuch der Autorisierungsseite im Browser nutzt die Route des Browsers. Python stellt die Token-Anfrage separat, daher konfiguriert ein Erfolg im Browser diese Sitzung nicht.

Die Umgebungsintegration von Requests kann die Proxy-Auswahl der Sitzung beeinflussen. Prüfen Sie für eine strikte, von der Anwendung kontrollierte Route trust_env; das Deaktivieren erfordert außerdem die explizite Angabe aller benötigten CA- oder Authentifizierungseinstellungen.

Ein OAuth-Fehler, den ein Token-Endpunkt zurückgibt, kann über einen funktionierenden Proxy eintreffen. Bewahren Sie diese Antwort getrennt von der Proxy-Authentifizierung auf, deren Anmeldedaten sich von Client-Secrets und Zugriffstoken unterscheiden.

Ähnliche Artikel