استخدام موفِّر هوية (idP) خارجي مع Edge Management API

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

curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

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

curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

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

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

تتبادل أداة get_token بيانات اعتماد المصادقة الأساسية (وفي بعض الحالات رمز المرور) برمز مميز للوصول إلى بروتوكول OAuth2 وإعادة التحميل. تقبل الأداة get_token بيانات الاعتماد وتعرض رمز دخول صالحًا. وفي حال كان من الممكن إعادة تحميل الرمز المميّز، تتم إعادة تحميل الرمز المميّز وإرجاعه. في حال انتهاء صلاحية الرمز المميّز لإعادة التحميل، سيطلب منك إدخال بيانات اعتماد المستخدم.

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

للحصول على رمز دخول 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) من Apigee. في حال ضبط بروتوكول أمان طبقة النقل (TLS) في الدخول المُوحَّد (SSO) لخدمة Apigee، استخدِم https ورقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح.

  2. يُرجى فك ضغط الحزمة ssocli-bundle.zip على النحو الموضّح في المثال التالي:
    unzip ssocli-bundle.zip
  3. ثبِّت get_token في /usr/local/bin، كما يبيِّن المثال التالي:
    ./install -b PATH

    يحدّد الخيار -b موقعًا جغرافيًا مختلفًا.

  4. اضبط متغيّر بيئة SSO_LOGIN_URL على عنوان URL لصفحة تسجيل الدخول على النحو التالي:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

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

  5. (SAML فقط) في متصفّح، انتقِل إلى عنوان URL التالي للحصول على رمز مرور لمرة واحدة:
    http://EDGE_SSO_IP_DNS:9099/passcode

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

    يعرض هذا الطلب رمز مرور صالحًا لمرة واحدة يظل صالحًا إلى أن تعيد تحميل عنوان URL هذا للحصول على رمز مرور جديد أو تستخدم رمز المرور مع get_token لإنشاء رمز دخول.

    تجدر الإشارة إلى أنّه لا يمكنك استخدام رمز مرور إلا عند المصادقة باستخدام موفِّر هوية (IdP) SAML. لا يمكنك استخدام رمز مرور للمصادقة باستخدام موفِّر هوية (IdP) لبروتوكول LDAP.

  6. استدعِ get_token للحصول على رمز دخول OAuth2، كما يوضِّح المثال التالي:
    get_token -u EMAIL_ADDRESS

    حيث يكون EMAIL_ADDRESS هو عنوان البريد الإلكتروني لمستخدم Edge.

    (SAML فقط) أدخِل رمز المرور في سطر الأوامر بالإضافة إلى عنوان البريد الإلكتروني، على النحو الموضّح في المثال التالي:

    get_token -u EMAIL_ADDRESS -p PASSCODE

    تحصل الأداة المساعدة get_token على رمز الدخول OAuth2، وتعرضه على الشاشة، وتكتبه مع الرمز المميّز لإعادة التحميل في ~/.sso-cli.

  7. مرِّر رمز الدخول إلى طلب بيانات من واجهة برمجة تطبيقات إدارة Edge على أنّه العنوان Bearer، على النحو الموضّح في المثال التالي:
    curl -H "Authorization: Bearer ACCESS_TOKEN"
      https://MS_IP:8080/v1/organizations/ORG_NAME
  8. بعد الحصول على رمز دخول جديد للمرة الأولى، يمكنك الحصول على رمز الدخول وتمريره إلى طلب بيانات من واجهة برمجة التطبيقات في أمر واحد، على النحو الموضّح في المثال التالي:
    header=`get_token` && curl -H "Authorization: Bearer $header"
      https://MS_IP:8080/v1/o/ORG_NAME

    باستخدام هذا النموذج من الأمر، إذا انتهت صلاحية رمز الدخول، تتم إعادة تحميله تلقائيًا إلى أن تنتهي صلاحية الرمز المميّز لإعادة التحميل.

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

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

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

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

للحصول على الإذن، عليك تمرير بيانات اعتماد عميل OAuth2 محجوزة في العنوان Authorization. تطبع المكالمة رموز الدخول وإعادة التحميل على الشاشة.

الحصول على رمز الدخول

(LDAP) استخدِم طلب البيانات من واجهة برمجة التطبيقات التالي لإنشاء الرموز المميَّزة للدخول المبدئية وإعادة التحميل:

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 \
  http://EDGE_SSO_IP_DNS:9099/oauth/token -s \
  -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'

(SAML) يمكنك استخدام طلب البيانات من واجهة برمجة التطبيقات التالي لإنشاء الرمزين المميّزين للوصول الأولي وإعادة التحميل:

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'

تجدُر الإشارة إلى أنّ المصادقة باستخدام موفّر الهوية عبر SAML تتطلب رمز مرور مؤقتًا، بينما لا يتطلبه موفّر الهوية في LDAP.

إعادة تحميل رمز الدخول

لإعادة تحميل رمز الدخول في وقت لاحق، استخدِم الاستدعاء التالي الذي يتضمّن الرمز المميّز لإعادة التحميل:

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=REFRESH_TOKEN'