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. أنشئه باستخدام تسجيل العميل الموجود في التطبيق ومعرّف URI لإعادة التوجيه والحالة والنطاقات، ثم اضبط مساره قبل تبادل الرمز. لمسار HTTP عام، يوفّر أحد المرشحين من قائمة وكلاء HTTP العنوان في خريطة الوكيل لهذه الجلسة.

استدعِ fetch_token وعمليات الموارد المحمية على هذه الجلسة. الوسيط proxies الذي يُمرَّر إلى fetch_token فقط ينطبق على ذلك التبادل؛ ولا يثبّت مسارًا دائمًا للاستدعاءات اللاحقة.

زيارة صفحة التفويض في المتصفح تستخدم مسار المتصفح. ينفّذ Python طلب الرمز بشكل منفصل، لذا لا تُهيّئ نجاحُ المتصفح هذه الجلسة.

قد يؤثر تكامل Requests مع البيئة في اختيار وكيل الجلسة. لمسار صارم يملكه التطبيق، راجع trust_env؛ ويتطلب تعطيله أيضًا تقديم أي إعدادات CA أو مصادقة لازمة بشكل صريح.

قد يصل خطأ OAuth الذي تعيده نقطة نهاية الرمز عبر وكيل يعمل. احفظ ذلك الرد منفصلًا عن مصادقة الوكيل، فبيانات اعتمادها تختلف عن أسرار العميل ورموز الوصول.

مقالات ذات صلة