Proxyinställningar i Authlib: Requests mot HTTPX
Välj Requests-sessionsproxies eller HTTPX-klientens proxyargument beroende på vilken Authlib-integrering som används.
Kontrollera Authlib-importen innan du väljer ett proxyargument. Dess Requests- och HTTPX-integrationer exponerar olika transportkonfiguration.
Requests OAuth2Session ärver Requests Session-beteende:
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",
})
Motsvarande asynkrona HTTPX-integration tar proxyargumentet på klientnivå vid konstruktionen:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
HTTPX-exemplet använder det singulara proxy-alternativet som Authlib 1.9.1 stöder. Den integrationen skickar igenkända transportalternativ vidare till sin underliggande HTTP-klient. En proxies-ordbok i Requests-stil är inte ett utbytbart konstruktorargument. För offentliga token- och API-slutpunkter på en tillåten offentlig proxy-rutt ger HTTP-proxylistan kandidater för HTTP-proxy-URL:erna i båda exemplen.
Behåll applikationens befintliga OAuth-registrering, redirect URI, scopes och tokenhantering när du använder någon av konfigurationerna. Använd den konfigurerade klienten för token- och skyddade resursoperationer och stäng den via sin vanliga synkrona eller asynkrona livscykel.
Ramverkshjälpare kan skapa dessa klienter på applikationens vägnar. Granska hjälparens integration och klientkonstruktionsalternativen innan du skickar argument vid förfrågningstillfället. Ett proxies-nyckelord som en Requests-tokenförfrågan accepterar bevisar inte att en asynkron HTTPX-förfrågan accepterar det.