from requests_oauthlib import OAuth2Session

session = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri)
session.proxies.update({
    'http': 'http://proxy.example:8080',
    'https': 'http://proxy.example:8080',
})

OAuth2Session proširuje Requestsov Session. Napravite ga s postojećom registracijom klijenta aplikacije, redirect URI-jem, state i scopes, pa postavite njegovu rutu prije razmjene tokena. Za javnu HTTP rutu kandidat s liste HTTP proxyja daje adresu u mapi proxyja ove sesije.

Pozovite fetch_token i operacije zaštićenih resursa na ovoj sesiji. Argument proxies proslijeđen samo u fetch_token važi za tu razmjenu; ne uspostavlja trajnu rutu za kasnije pozive.

Posjeta stranici za autorizaciju u pregledaču koristi rutu pregledača. Python pravi zahtjev za token odvojeno, pa uspjeh u pregledaču ne konfiguriše ovu sesiju.

Integracija Requestsa s okruženjem može uticati na odabir proxyja sesije. Za strogu rutu kojom upravlja aplikacija pregledajte trust_env; njegovo isključivanje također zahtijeva izričito navođenje potrebnih CA ili postavki autentifikacije.

OAuth greška koju vrati token endpoint može stići preko ispravnog proxyja. Sačuvajte taj odgovor odvojeno od autentifikacije proxyja, čiji se podaci razlikuju od client secret i access token.

Povezani članci