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. Izradite 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 popisa 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 vrijedi za tu razmjenu; ne uspostavlja trajnu rutu za kasnije pozive.

Posjet stranici za autorizaciju u pregledniku koristi rutu preglednika. Python izrađuje zahtjev za token odvojeno, pa uspjeh u pregledniku ne konfigurira ovu sesiju.

Requestsova integracija s okruženjem može utjecati 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 pogreš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