Setelan proksi Authlib: Requests versus HTTPX
Pilih proksi sesi Requests atau argumen proxy klien HTTPX sesuai integrasi Authlib yang dipakai.
Periksa impor Authlib sebelum memilih argumen proxy. Integrasi Requests dan HTTPX-nya menyediakan konfigurasi transport yang berbeda.
OAuth2Session Requests mewarisi perilaku Session 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",
})
Integrasi HTTPX asinkron yang bersesuaian menerima argumen proxy di tingkat klien saat konstruksi:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
Contoh HTTPX memakai opsi proxy tunggal yang didukung Authlib 1.9.1. Integrasi itu meneruskan opsi transport yang dikenali ke klien HTTP di bawahnya. Kamus proxies bergaya Requests bukan argumen konstruktor yang dapat ditukar. Untuk endpoint token dan API publik pada rute proksi publik yang diizinkan, daftar proksi HTTP menyediakan kandidat untuk URL proksi HTTP pada kedua contoh.
Pertahankan registrasi OAuth aplikasi yang ada, redirect URI, scopes, dan penanganan token saat menerapkan salah satu konfigurasi. Gunakan klien yang dikonfigurasi untuk operasi token dan sumber daya terlindungi, lalu tutup melalui siklus hidup sinkron atau asinkronnya yang biasa.
Pembantu framework dapat membuat klien ini atas nama aplikasi. Periksa integrasi pembantu dan opsi pembuatan klien sebelum meneruskan argumen saat permintaan. Kata kunci proxies yang diterima permintaan token Requests tidak membuktikan bahwa permintaan HTTPX asinkron menerimanya.