Prüfen Sie den Authlib-Import, bevor Sie ein Proxy-Argument wählen. Die Requests- und die HTTPX-Integration stellen unterschiedliche Transportkonfiguration bereit.

Die Requests OAuth2Session erbt das Session-Verhalten von Requests:

from authlib.integrations.requests_client import OAuth2Session

client = OAuth2Session(client_id=client_id)
client.proxies.update({
    "http": "http://proxy.example.net:8080",
    "https": "http://proxy.example.net:8080",
})

Die entsprechende asynchrone HTTPX-Integration übernimmt das Proxy-Argument auf Client-Ebene bei der Erstellung:

from authlib.integrations.httpx_client import AsyncOAuth2Client

client = AsyncOAuth2Client(
    client_id=client_id,
    proxy="http://proxy.example.net:8080",
)

Das HTTPX-Beispiel nutzt die einzelne Proxy-Option, die Authlib 1.9.1 unterstützt. Diese Integration reicht erkannte Transportoptionen an ihren zugrunde liegenden HTTP-Client weiter. Ein proxies-Wörterbuch im Requests-Stil ist kein austauschbares Konstruktorargument. Für öffentliche Token- und API-Endpunkte auf einer zulässigen öffentlichen Proxy-Route bietet die HTTP-Proxy-Liste Kandidaten für die HTTP-Proxy-URLs beider Beispiele.

Behalten Sie die bestehende OAuth-Registrierung, die Redirect-URI, die Scopes und die Token-Verarbeitung der Anwendung bei, wenn Sie eine der beiden Konfigurationen anwenden. Verwenden Sie den konfigurierten Client für Token- und geschützte Ressourcenoperationen und schließen Sie ihn über seinen normalen synchronen oder asynchronen Lebenszyklus.

Framework-Helfer können diese Clients im Namen der Anwendung erzeugen. Prüfen Sie die Integration des Helfers und die Optionen zur Client-Erstellung, bevor Sie Argumente zur Anfragezeit übergeben. Ein proxies-Schlüsselwort, das eine Requests-Tokenanfrage akzeptiert, belegt nicht, dass eine asynchrone HTTPX-Anfrage es akzeptiert.

Ähnliche Artikel