استخدام SAML مع واجهة برمجة تطبيقات إدارة Edge

الإصدار 4.18.05 من Edge for Private Cloud

تُعد المصادقة الأساسية إحدى طرق المصادقة عند إجراء اتصالات بواجهة برمجة تطبيقات إدارة Edge. بالنسبة على سبيل المثال، يمكنك تقديم طلب cURL التالي إلى واجهة برمجة تطبيقات إدارة Edge للوصول إلى المعلومات حول مؤسستك:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

في هذا المثال، يمكنك استخدام الخيار cURL -u لتمرير بيانات اعتماد المصادقة الأساسية. بدلاً من ذلك، تمرير رمز OAuth2 المميز في الرأس Bearer لإنشاء واجهة برمجة تطبيقات إدارة Edge الاتصالات. على سبيل المثال:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

بعد تفعيل SAML، يمكنك إيقاف المصادقة الأساسية اختياريًا. إذا أوقفت المصادقة الأساسية، سيتم إيقاف جميع النصوص البرمجية (النصوص البرمجية لـ Maven والنصوص البرمجية للأوامر وapigeetool وغيرها) التي تعتمد على Edge طلبات البيانات من واجهة برمجة التطبيقات التي تدعم المصادقة الأساسية لم تعد تعمل. يجب تحديث أي طلبات بيانات من واجهة برمجة التطبيقات النصوص البرمجية التي تستخدم المصادقة الأساسية لتمرير رموز الدخول عبر OAuth2 في رأس الحامل.

استخدام get_token للحصول على الرموز المميزة وإعادة تحميلها

الأداة get_token لتبادل بيانات اعتماد المصادقة الأساسية ورمز مرور للرمز المميز للدخول إلى OAuth2 وإعادة التحميل. تشير رسالة الأشكال البيانية تقبل الأداة get_token بيانات الاعتماد وتطبع رمز دخول صالحًا. إذا كان من الممكن إعادة تحميل رمز مميّز، سيتم تحديثه طباعته. إذا انتهت صلاحية الرمز المميّز لإعادة التحميل، سيظهر لطلب بيانات اعتماد المستخدم.

متاجر أدوات مساعدة get_token الرموز المميزة على القرص، جاهزة للاستخدام عند الحاجة. كما تقوم بطباعة رمز دخول صالح من أجل stdout. من هناك، يمكنك استخدام Postman أو تضمينه في متغيّر بيئة لاستخدامه في curl.

يصف الإجراء التالي كيفية استخدام get_token للحصول على رمز دخول OAuth2 من أجل إجراء طلبات البيانات من واجهة برمجة التطبيقات لإدارة Edge:

  1. نزِّل sso-cli الحزمة:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    حيث edge_sso_IP_DNS هو عنوان IP لاسم نظام أسماء النطاقات للجهاز أو استضافة وحدة الدخول الموحّد (SSO) على شبكة Edge. في حال ضبط بروتوكول أمان طبقة النقل (TLS) على شبكة Edge، استخدِم https رقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح.

  2. فك ضغط حزمة ssocli-bundle.zip:
    unzip ssocli-bundle.zip
  3. تثبيت get_token في /usr/local/bin:
    > ./install استخدم -b لتحديد موقع مختلف: > ./install -b المسار
  4. ضبط SSO_LOGIN_URL متغير البيئة إلى عنوان URL لتسجيل الدخول، بالصيغة:
    تصدير SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    حيث يكون edge_sso_IP_DNS هو عنوان IP لاسم نظام أسماء النطاقات للجهاز. أو استضافة وحدة الدخول الموحّد (SSO) على شبكة Edge. في حال ضبط بروتوكول أمان طبقة النقل (TLS) على الدخول المُوحَّد (SSO) في Edge، استخدِم https ورقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح.
  5. في متصفِّح، انتقِل إلى عنوان URL التالي للحصول على رمز مرور صالح لمرة واحدة:
    http://edge_sso_IP_DNS:9099/passcode

    في حال ضبط بروتوكول أمان طبقة النقل (TLS) على Edge المُوحَّد (SSO)، استخدِم https ورقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح.

    ملاحظة: في حال عدم تسجيل الدخول حاليًا من خلال موفِّر الهوية، عليك إجراء ما يلي: سيُطلب منك تسجيل الدخول.

    يعرض عنوان URL هذا رمز مرور صالح لمرّة واحدة يبقى صالحًا إلى أن تعيد تحميل عنوان URL هذا للحصول على رمز المرور الجديد، أو استخدام رمز المرور مع get_token لإنشاء رمز دخول.
  6. استدعاء get_token للحصول على رمز الدخول إلى OAuth2:
    > الحصول على_الرمز المميّز -u emailAddress

    حيث يشير emailAddress إلى عنوان البريد الإلكتروني لمستخدم Edge. أنت يُطلب منك إدخال رمز المرور لمرة واحدة الذي حصلت عليه في الخطوة 3:
    رمز لمرة واحدة ( احصل على رمز في https://edge_sso_IP.com/passcode )
    أدخِل رمز المرور إذا كانت SAML مفعَّلة أو اضغط على ENTER:


    أدخِل رمز المرور. تحصل الأداة get_token على إذن الوصول OAuth2 الرمز المميز، ويطبعه على الشاشة، ويكتبه مع الرمز المميز لإعادة التحميل على ~/.sso-cli.

    يمكنك إدخال رمز المرور في سطر الأوامر باستخدام الأمر get_token في النموذج:
    > الحصول على_الرمز المميّز -u emailAddress -p رمز المرور
  7. مرِّر رمز الدخول إلى طلب بيانات من واجهة برمجة تطبيقات إدارة Edge باعتباره عنوان Bearer:
    > curl -H "تفويض: الحامل" access_token" https://ms_IP:8080/v1/organizations/orgName

    بعد الحصول على رمز دخول جديد لأول مرة، يمكنك الحصول على رمز الدخول وأرسِله إلى طلب بيانات من واجهة برمجة التطبيقات في أمر واحد، كما هو موضّح أدناه:
    > head=`get_token` && curl -H "تفويض: Bearer $header" https://ms_IP:8080/v1/o/orgName

    باستخدام شكل الأمر هذا، إذا انتهت صلاحية رمز الدخول، فسيتم تحديثه تلقائيًا حتى انتهاء صلاحية الرمز المميز للتحديث.

بعد انتهاء صلاحية الرمز المميّز لإعادة التحميل، يطالبك get_token برمز مرور جديد. إِنْتَ الانتقال إلى عنوان URL الموضح أعلاه في الخطوة الثالثة وإنشاء رمز مرور جديد قبل أن تتمكن من إنشاء رمز مرور رمز مميز جديد للدخول عبر OAuth

استخدام واجهة برمجة تطبيقات الإدارة للحصول على التحديثات وإعادة تحميلها رموز مميزة

استخدام OAuth2 الأمان باستخدام واجهة برمجة التطبيقات Apigee Edge management API يتضمن تعليمات توضح كيفية استخدام واجهة برمجة التطبيقات لإدارة Edge للحصول على الرموز المميّزة وإعادة تحميلها يمكنك أيضًا استخدام عمليات استدعاء واجهة برمجة التطبيقات Edge إلى للرموز المميزة التي تم إنشاؤها من تأكيدات SAML.

الفرق الوحيد بين طلبات البيانات من واجهة برمجة التطبيقات الموثقة في استخدام أمان OAuth2 مع Apigee Edge management API هو أن عنوان URL للمكالمة يجب أن يشير إلى منطقتك الاسم. علاوة على ذلك، لإنشاء رمز الدخول الأولي، يجب تضمين رمز المرور، كما كما هو موضح في الخطوة 3 من الإجراء أعلاه.

على سبيل المثال، يمكنك استخدام طلب البيانات من واجهة برمجة التطبيقات التالي لإنشاء رموز الدخول الأولية وإعادة التحميل:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
  -H "accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token&passcode=passcode'  

بالنسبة إلى التفويض، أدخِل بيانات اعتماد عميل OAuth2 المحجوزة في رأس التفويض. تطبع المكالمة الوصول إلى الرموز المميزة وتحديثها على الشاشة.

لإعادة تحميل رمز الدخول لاحقًا، يمكنك استخدام المكالمة التالية التي تتضمّن الرمز المميّز لإعادة التحميل:

curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
https://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'