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 Requests'ning Session sinfini kengaytiradi. Uni ilovaning mavjud client registration, redirect URI, state va scopes qiymatlari bilan quring, so'ng token almashinuvidan oldin uning marshrutini o'rnating. Ommaviy HTTP marshruti uchun HTTP proksi ro'yxatidan nomzod ushbu sessiya proksi xaritasida manzilni beradi.

Ushbu sessiyada fetch_token va himoyalangan resurs operatsiyalarini chaqiring. proxies argumenti faqat fetch_token ga berilganda o'sha almashinuvga tegishli; u keyingi chaqiruvlar uchun doimiy marshrut o'rnatmaydi.

Brauzerdagi avtorizatsiya sahifasiga tashrif brauzer marshrutidan foydalanadi. Python token so'rovini alohida bajaradi, shuning uchun brauzerdagi muvaffaqiyat bu sessiyani sozlamaydi.

Requests'ning muhit bilan integratsiyasi sessiya proksisi tanloviga ta'sir qilishi mumkin. Ilovaga tegishli qat'iy marshrut uchun trust_env ni ko'rib chiqing; uni o'chirish zarur CA yoki autentifikatsiya sozlamalarini aniq berishni ham talab qiladi.

Token endpoint qaytargan OAuth xatosi ishlayotgan proksi orqali kelishi mumkin. Bu javobni proksi autentifikatsiyasidan alohida saqlang; uning ma'lumotlari client secret va access token dan farq qiladi.

O'xshash maqolalar