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 memperluas Session milik Requests. Bangun dengan registrasi klien aplikasi yang ada, redirect URI, state, dan scopes, lalu setel rutenya sebelum pertukaran token. Untuk rute HTTP publik, kandidat dari daftar proxy HTTP menyediakan alamat di peta proxy sesi ini.

Panggil fetch_token dan operasi sumber daya terlindungi pada sesi ini. Argumen proxies yang hanya diberikan ke fetch_token berlaku untuk pertukaran itu; argumen tersebut tidak memasang rute permanen untuk panggilan berikutnya.

Kunjungan halaman otorisasi di browser memakai rute browser. Python melakukan permintaan token secara terpisah, jadi keberhasilan di browser tidak mengonfigurasi sesi ini.

Integrasi Requests dengan lingkungan dapat memengaruhi pemilihan proxy sesi. Untuk rute ketat milik aplikasi, tinjau trust_env; menonaktifkannya juga mengharuskan penyediaan pengaturan CA atau autentikasi yang diperlukan secara eksplisit.

Kesalahan OAuth yang dikembalikan endpoint token dapat tiba melalui proxy yang berfungsi. Simpan respons itu terpisah dari autentikasi proxy, yang kredensialnya berbeda dari client secret dan access token.

Artikel terkait