requests-oauthlib: הגדרת ה-proxy של OAuth2Session לפני fetch_token
השתמשו באותו סשן שמודע ל-proxy להשגת האסימון ולמשאבים מוגנים, ושמרו על זרימת ה-OAuth הקיימת ללא שינוי.
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 מרחיב את Session של Requests. בנו אותו עם רישום הלקוח הקיים של היישום, redirect URI, state ו-scopes, ואז הגדירו את המסלול שלו לפני החלפת האסימון. עבור מסלול HTTP ציבורי, מועמד מרשימת ה-proxy של HTTP מספק את הכתובת במפת ה-proxy של הסשן הזה.
קראו ל-fetch_token ולפעולות על משאבים מוגנים בסשן הזה. ארגומנט proxies שנמסר רק ל-fetch_token חל על אותה החלפה; הוא אינו מתקין מסלול קבוע לקריאות מאוחרות יותר.
הביקור בעמוד ההרשאה בדפדפן משתמש במסלול של הדפדפן. Python מבצע את בקשת האסימון בנפרד, ולכן הצלחה בדפדפן אינה מגדירה את הסשן הזה.
האינטגרציה של Requests עם הסביבה יכולה להשפיע על בחירת ה-proxy של הסשן. עבור מסלול קפדני בבעלות היישום, בדקו את trust_env; השבתתו מחייבת גם אספקה מפורשת של הגדרות CA או אימות נדרשות.
שגיאת OAuth שמוחזרת מ-endpoint של אסימון עשויה להגיע דרך proxy שעובד. שמרו את התגובה בנפרד מאימות ה-proxy, שפרטיו שונים מסודות לקוח ומאסימוני גישה.