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

Requests OAuth2Session nasljeđuje ponašanje Sessiona u 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",
})

Odgovarajuća asinhrona HTTPX integracija prima argument proxyja na nivou klijenta tokom konstrukcije:

from authlib.integrations.httpx_client import AsyncOAuth2Client

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

Primjer s HTTPX-om koristi pojedinačnu proxy opciju koju podržava Authlib 1.9.1. Ta integracija prosljeđuje prepoznate transportne opcije svom osnovnom HTTP klijentu. Rječnik proxies u stilu Requests nije zamjenjivi argument konstruktora. Za javne token i API krajnje točke na dopuštenoj javnoj proxy ruti, lista HTTP proxyja nudi kandidate za HTTP proxy URL-ove oba primjera.

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

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

Povezani članci