أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
استخدام رموز OAuth المميزة التابعة لجهات خارجية
يُرجى الاطّلاع على استخدام رموز OAuth المميزة التابعة لجهات خارجية.
تحديد عناوين URL متعددة لمعاودة الاتصال
عند استخدام نوع منح رمز التفويض، يجب تحديد عنوان URL لصفحة إعادة التوجيه عند تسجيل تطبيق المطوِّر. يحدّد عنوان URL لصفحة إعادة التوجيه عادةً عنوان URL لتطبيق تم تحديده لتلقّي رمز تفويض نيابةً عن تطبيق العميل. بالإضافة إلى ذلك، يتم استخدام سلسلة عنوان URL هذه للتحقّق من الصحة. على العميل إرسال عنوان URL هذا إلى Apigee Edge عند طلب رموز التفويض ورموز الدخول، ويجب أن تتطابق المَعلمة redirect_uri مع المَعلمة المسجّلة. راجِع أيضًا طلب رموز مميّزة للوصول ورموز تفويض.
على سبيل المثال:
http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc
هناك حالة استخدام لتحديد عناوين URL متعددة لردّ الاتصال في تطبيق وكيل واحد. على سبيل المثال، قد تحتاج إلى إثبات ملكية نطاقات متعدّدة. على سبيل المثال:
- http://myexample.com/callback
- http://myexample.uk/callback
- http://myexample.ja/callback
لا يتيح Edge تحديد عناوين URL متعددة لبرامج معالجة الردود أو استخدام أحرف بدل عند تسجيل تطبيق مطوّر. لتحقيق حالة الاستخدام هذه، يمكنك تحديد عنوان URL فارغ لدالّة ردّ الاتصال عند تسجيل تطبيق مطوّر، ثم وضع منطق في سياسة JavaScript للتحقّق من صحة معرّفات URI لعمليات إعادة التوجيه الواردة.
تغيير السلوك التلقائي لعملية GenerateAuthCode
تُرجع عملية GenerateAuthCode في سياسة OAuthV2 تلقائيًا عملية إعادة توجيه 302 إلى عنوان URL لردّ الاتصال مع مَعلمة طلب البحث ?code التي تحتوي على رمز التفويض.
في بعض الحالات، قد تحتاج إلى تغيير هذا السلوك. على سبيل المثال، قد تحتاج إلى عرض استجابة 200 مع JSON منظَّم يحتوي على الرمز.
إحدى الطرق لتحقيق حالة الاستخدام هذه هي ضبط سمة GenerateResponse في سياسة OAuthV2 على false.
استخدِم سياسة ExtractVariable للحصول على قيمة رمز التفويض من المتغيّر oauthv2authcode.{policy_name}.code. بعد ذلك، يمكنك استخدام سياسة AssignMessage لعرض الرمز في حمولة JSON مع حالة 200.
تدقيق موافقة المستخدم النهائي في التطبيق
قد يُطلب منك التحقّق من أنّ مستخدمًا نهائيًا للتطبيق قد فوّض تطبيقًا. ويمكنك استخدام Audit API في Apigee Edge لإجراء ذلك.
مثال على OAuth الصادر
راجِع نموذج outbound-oauth في مستودع api-platform-samples على GitHub. يمكنك استنساخ النموذج ونشره وتشغيله. يستخدم هذا النموذج واجهة برمجة التطبيقات Microsoft Azure translator API لترجمة التغريدات. ولإجراء ذلك، يتم إجراء طلب صادر للحصول على رمز دخول OAuth، ثم يتم تخزين الرمز مؤقتًا باستخدام سياسات التخزين المؤقت لخدمات واجهة برمجة التطبيقات، وإعادة استخدام الرمز المخزّن مؤقتًا في كل مرة يتم فيها إجراء طلب صادر. يتضمّن أيضًا تطبيق متصفّح تجريبيًا يُستخدَم لتفعيل خادم وكيل لواجهة برمجة التطبيقات.