Pred voľbou argumentu proxy skontrolujte import Authlib. Jeho integrácie Requests a HTTPX ponúkajú odlišnú konfiguráciu prenosu.

Requests OAuth2Session dedí správanie 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",
})

Zodpovedajúca asynchrónna integrácia HTTPX preberá argument proxy na úrovni klienta pri vytváraní:

from authlib.integrations.httpx_client import AsyncOAuth2Client

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

Príklad s HTTPX používa jedinú voľbu proxy, ktorú podporuje Authlib 1.9.1. Táto integrácia odovzdáva rozpoznané voľby prenosu svojmu podkladovému klientovi HTTP. Slovník proxies v štýle Requests nie je zameniteľný argument konštruktora. Pre verejné koncové body tokenov a API na povolenej verejnej trase proxy zoznam proxy HTTP ponúka kandidátov pre adresy URL proxy HTTP v oboch príkladoch.

Pri použití ktorejkoľvek konfigurácie zachovajte existujúcu registráciu OAuth aplikácie, redirect URI, scopes a spracovanie tokenov. Používajte nakonfigurovaného klienta na operácie s tokenmi a chránenými zdrojmi a zatvorte ho jeho obvyklým synchrónnym alebo asynchrónnym životným cyklom.

Pomocníci rámca môžu týchto klientov vytvárať v mene aplikácie. Pred odovzdaním argumentov v čase požiadavky preskúmajte integráciu pomocníka a možnosti vytvorenia klienta. Kľúčové slovo proxies, ktoré prijíma požiadavka na token v Requests, nedokazuje, že ho prijíma aj asynchrónna požiadavka HTTPX.

Súvisiace články