Provjerite Authlib uvoz prije odabira argumenta proxyja. Njegove integracije Requests i HTTPX izlažu različitu transportnu konfiguraciju.

Requests OAuth2Session nasljeđuje ponašanje Sessiona u Requestsu:

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",
})

Odgovarajuća asinkrona HTTPX integracija prima argument proxyja na razini klijenta tijekom izgradnje:

from authlib.integrations.httpx_client import AsyncOAuth2Client

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

Primjer s HTTPX-om rabi pojedinačnu proxy opciju koju podržava Authlib 1.9.1. Ta integracija prosljeđuje prepoznate transportne opcije svom temeljnom HTTP klijentu. Rječnik proxies u stilu Requestsa nije zamjenjiv argument konstruktora. Za javne token i API završne točke na dopuštenoj javnoj proxy ruti, popis HTTP proxyja nudi kandidate za HTTP proxy URL-ove obaju primjera.

Zadržite postojeću OAuth registraciju aplikacije, redirect URI, scopes i rukovanje tokenima pri primjeni bilo koje konfiguracije. Rabite konfigurirani klijent za radnje s tokenima i zaštićenim resursima te ga zatvorite kroz njegov uobičajeni sinkroni ili asinkroni životni ciklus.

Pomoćnici okvira mogu stvarati te klijente u ime aplikacije. Provjerite integraciju pomoćnika i opcije izgradnje klijenta prije prosljeđivanja argumenata u vrijeme zahtjeva. Ključna riječ proxies koju prihvaća Requests zahtjev za token ne dokazuje da je prihvaća i asinkroni HTTPX zahtjev.

Povezani članci