Před volbou argumentu proxy zkontrolujte import Authlib. Jeho integrace Requests a HTTPX nabízejí odlišnou konfiguraci přenosu.

Requests OAuth2Session dědí chování Session v 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",
})

Odpovídající asynchronní integrace HTTPX přebírá argument proxy na úrovni klienta při vytváření:

from authlib.integrations.httpx_client import AsyncOAuth2Client

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

Příklad s HTTPX používá jedinou volbu proxy, kterou Authlib 1.9.1 podporuje. Tato integrace předává rozpoznané volby přenosu svému podkladovému klientovi HTTP. Slovník proxies ve stylu Requests není zaměnitelný argument konstruktoru. Pro veřejné koncové body tokenů a API na povolené veřejné trase proxy nabízí seznam HTTP proxy kandidáty pro adresy URL HTTP proxy v obou příkladech.

Při použití kterékoli konfigurace zachovejte stávající registraci OAuth aplikace, redirect URI, scopes a práci s tokeny. Pro operace s tokeny a chráněnými prostředky používejte nakonfigurovaného klienta a uzavřete ho jeho obvyklým synchronním nebo asynchronním životním cyklem.

Pomocné nástroje frameworku mohou tyto klienty vytvářet za aplikaci. Před předáním argumentů v době požadavku prozkoumejte integraci pomocného nástroje a možnosti vytvoření klienta. Klíčové slovo proxies přijímané požadavkem na token v Requests nedokazuje, že je přijímá i asynchronní požadavek HTTPX.

Související články