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-in Session sinfini genişləndirir. Onu tətbiqin mövcud client registration, redirect URI, state və scopes dəyərləri ilə qurun, sonra token mübadiləsindən əvvəl marşrutunu təyin edin. Açıq HTTP marşrutu üçün HTTP proxy siyahısından namizəd bu sessiyanın proxy xəritəsində ünvanı təmin edir.

Bu sessiya üzərində fetch_token və qorunan resurs əməliyyatlarını çağırın. proxies arqumenti yalnız fetch_token-a ötürüldükdə həmin mübadiləyə aiddir; sonrakı çağırışlar üçün davamlı marşrut qurmur.

Brauzerin avtorizasiya səhifəsinə baxışı brauzerin marşrutundan istifadə edir. Python token sorğusunu ayrıca edir, ona görə brauzerdəki uğur bu sessiyanı konfiqurasiya etmir.

Requests-in mühit inteqrasiyası sessiya proxy seçiminə təsir edə bilər. Tətbiqə məxsus ciddi marşrut üçün trust_env dəyərini nəzərdən keçirin; onu söndürmək lazımi CA və ya autentifikasiya parametrlərinin açıq şəkildə verilməsini də tələb edir.

Token endpoint-inin qaytardığı OAuth xətası işləyən proxy üzərindən gələ bilər. Bu cavabı proxy autentifikasiyasından ayrı saxlayın; onun etimadnamələri client secret və access token-lərdən fərqlidir.

Əlaqəli məqalələr