requests-oauthlib: ตั้งค่าพร็อกซีของ OAuth2Session ก่อน fetch_token
ใช้เซสชันที่รู้จักพร็อกซีเดียวกันสำหรับการรับโทเค็นและทรัพยากรที่ได้รับการป้องกัน โดยคงโฟลว์ 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 สร้างมันด้วย client registration, redirect URI, state และ scopes ที่มีอยู่ของแอป จากนั้นกำหนดเส้นทางก่อนการแลกเปลี่ยนโทเค็น สำหรับเส้นทาง HTTP สาธารณะ ผู้สมัครจากรายการพร็อกซี HTTPจะให้ที่อยู่ในแผนผังพร็อกซีของเซสชันนี้
เรียก fetch_token และการดำเนินการกับทรัพยากรที่ได้รับการป้องกันบนเซสชันนี้ อาร์กิวเมนต์ proxies ที่ส่งให้เฉพาะ fetch_token มีผลกับการแลกเปลี่ยนนั้นเท่านั้น ไม่ได้ติดตั้งเส้นทางถาวรสำหรับการเรียกครั้งถัดไป
การเข้าชมหน้าอนุญาตในเบราว์เซอร์ใช้เส้นทางของเบราว์เซอร์ Python ทำคำขอโทเค็นแยกต่างหาก ความสำเร็จในเบราว์เซอร์จึงไม่ได้กำหนดค่าเซสชันนี้
การผสานรวม Requests กับสภาพแวดล้อมอาจส่งผลต่อการเลือกพร็อกซีของเซสชัน สำหรับเส้นทางที่เข้มงวดซึ่งแอปเป็นเจ้าของ ให้ตรวจสอบ trust_env การปิดใช้งานยังต้องระบุการตั้งค่า CA หรือการรับรองความถูกต้องที่จำเป็นอย่างชัดเจน
ข้อผิดพลาด OAuth ที่ endpoint ของโทเค็นส่งกลับมาอาจมาทางพร็อกซีที่ทำงานอยู่ เก็บการตอบสนองนั้นแยกจากการรับรองความถูกต้องของพร็อกซี ซึ่งข้อมูลรับรองต่างจาก client secret และ access token