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

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

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

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

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

بعد تفعيل SAML، يمكنك اختياريًا إيقاف المصادقة الأساسية. وإذا أوقفت المصادقة الأساسية، لن تعمل جميع النصوص البرمجية (النصوص البرمجية Maven والنصوص البرمجية لواجهة برمجة التطبيقات وواجهة برمجة التطبيقات وغير ذلك) التي تعتمد على طلبات بيانات واجهة برمجة تطبيقات إدارة 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) في الدخول المُوحَّد (SSO) على Edge، استخدِم https ورقم منفذ بروتوكول أمان طبقة النقل الصحيحَين.

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

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

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

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

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

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


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

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

    بعد الحصول على رمز وصول جديد معروض للمرة الأولى، يمكنك الحصول على رمز وصول واحد جديد:


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

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

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

يتمثل الاختلاف الوحيد بين طلبات البيانات من واجهة برمجة التطبيقات الواردة في استخدام أمان OAuth2 مع واجهة برمجة التطبيقات لإدارة Apigee Edge في أنّ عنوان 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'