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

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

يتوافق SAML مع بيئة الدخول المُوحَّد (SSO). من خلال استخدام SAML مع Edge، يمكنك إتاحة الدخول المُوحَّد (SSO) لواجهة المستخدم وواجهة برمجة التطبيقات Edge بالإضافة إلى أي خدمات أخرى تقدمها وتدعم أيضًا SAML.

شرط أساسي: يجب تفعيل SAML لما لا يقل عن مؤسسة واحدة قبل أن تتمكن من استخدامها للوصول إلى Edge API.

الاختلافات بين SAML وOAuth2

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

هناك اختلاف رئيسي بين SAML وOAuth2 عند الوصول إلى Edge API تحصل على رموز مميزة. باستخدام SAML، يجب عليك تضمين ما يلي عند الحصول على زوج الرمز المميّز:

  1. المناطق: على مستخدمي Edge for Public Cloud الإشارة إلى اسم منطقتهم عند الحصول على الرموز المميّزة.
  2. رمز المرور: تضمين رمز مرور صالح لمرة واحدة عند طلب الوصول أو إعادة التحميل زوج من الرموز المميزة.

يستخدم SAML نقاط النهاية نفسها على خدمة Edge OAuth2، مع إضافة اسم المنطقة المناسب.

للحصول على رموز الدخول باستخدام SAML، يمكنك استخدام إحدى الطرق التالية الموضحة في هذا القسم:

بالإضافة إلى ذلك، يمكنك برمجة عملية إنشاء الرموز المميّزة لمستخدمي الأجهزة، كما هو موضَّح في مقالة برمجة إنشاء الرموز المميّزة.

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

يمكنك استخدام أداة get_token لتغيير بيانات الاعتماد الخاصة بك للوصول إلى OAuth2 الرموز المميّزة لإعادة التحميل التي تستخدمها مع SAML.

للحصول على رمز دخول مع get_token:

  1. اضبط متغيّر البيئة SSO_LOGIN_URL على عنوان URL لتسجيل الدخول. يحتوي عنوان URL لتسجيل الدخول على النموذج التالي:
    https://zoneName.login.apigee.com

    على سبيل المثال، بالنسبة إلى منطقة اسمها "acme"، اضبط SSO_LOGIN_URL على "https://acme.login.apigee.com". كما يبيِّن المثال التالي:

    export SSO_LOGIN_URL=https://acme.login.apigee.com
  2. يمكنك الاتصال بـ get_token للحصول على رمز الدخول عبر OAuth2:
    get_token -u me@example.com

    يُطلب منك الانتقال إلى عنوان URL المعروض للحصول على رمز مرور صالح لمرة واحدة:

    Get passcode from https://acme.login.apigee.com/passcode
    [Note:  Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:

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

    يعرض عنوان URL هذا رمز مرور لمرّة واحدة يبقى صالحًا إلى أن تُعيد تحميل عنوان URL هذا إلى الحصول على رمز مرور جديد أو استخدام رمز المرور مع "get_token" لإنشاء . على سبيل المثال:

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

  4. عليك استدعاء واجهة برمجة التطبيقات Edge API وتمرير رمز الدخول في Authorization: Bearer. كما يبيِّن المثال التالي:
    curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
      -H "Authorization: Bearer ACCESS_TOKEN"

    يمكن نسخ قيمة رمز الدخول من stdout.

    يحصل هذا المثال على تفاصيل حول المؤسسة المحددة. للحصول على قائمة كاملة بأدوات الإدارة نقاط نهاية واجهة برمجة التطبيقات، يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات في Apigee Edge.

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

get_token -u me@example.com

ولن يُطلب منك إدخال رمز مرور جديد إلى أن تنتهي صلاحية الرمز المميّز لإعادة التحميل.

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

الحصول على رموز الدخول من خلال خدمة Edge OAuth2

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

للحصول على زوج رمز مميّز من خلال واجهة برمجة تطبيقات Edge:

  1. في أحد المتصفحات، انتقِل إلى عنوان URL التالي للحصول على رمز مرور صالح لمرة واحدة:
    https://zoneName.login.apigee.com/passcode

    على سبيل المثال، بالنسبة إلى منطقة تُسمى "acme"، انتقِل إلى عنوان URL التالي:

    https://acme.login.apigee.com/passcode

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

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

  2. أرسل طلبًا إلى واجهة برمجة تطبيقات Edge، كما يبين المثال التالي:
    curl https://zoneName.login.apigee.com/oauth/token \
          -s \
          -H "Accept: application/json" \
          -d 'grant_type=password&response_type=token&passcode=passcode'

    إنّ passcode بمثابة بيانات اعتماد لك للحصول على التفويض.

    المكان:

    • عنوان Authorization هو Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (استخدم هذا القيمة الدقيقة).
    • نوع الطلب هو "POST".
    • يحتوي نص الطلب على ما يلي:
      • grant_type هي "كلمة مرور".
      • response_type هو "رمز مميّز".
      • passcode حيث passcode هو رمز المرور الذي تم إرجاعه في الخطوة السابقة.

    تطبع المكالمة رموز الدخول وإعادة التحميل على الشاشة.

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

إرسال طلب إلى "https://zoneName.login.apigee.com/oauth/token" كما يبيِّن المثال التالي:

curl https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

المكان:

  • يحتوي نص الطلب على ما يلي:
    • قيمة grant_type هي "refresh_token".
    • refresh_token هي قيمة الرمز المميّز لإعادة التحميل.
  • عنوان Authorization هو Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (استخدم هذا القيمة الدقيقة).
  • نوع الطلب هو "POST".

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

يمكنك استخدام أدوات مثل curl أو أداة Apigee الملائمة acurl. إلى الوصول إلى واجهة برمجة تطبيقات Edge.

باستخدام curl، يمكنك استدعاء واجهة برمجة تطبيقات Edge وتمرير رمز الدخول في Authorization: Bearer، كما يبيِّن المثال التالي:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -H "Authorization: Bearer ACCESS_TOKEN"

في حال استخدام acurl، لا تحتاج إلى تحديد عنوان Authorization. على سبيل المثال:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

تستدعي هذه الأمثلة نقطة نهاية Edge API التي تحصل على تفاصيل حول المؤسسة المحددة. للحصول على قائمة كاملة بنقاط نهاية واجهة برمجة التطبيقات في Edge، يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات في Apigee Edge API.

للتعرّف على طرق إضافية لاستدعاء واجهة برمجة التطبيقات، بما في ذلك طرق ضمان بقاء الرمز المميّز جديد، راجِع الوصول إلى واجهة برمجة تطبيقات Edge باستخدام OAuth2.

مستخدمو الأجهزة في مناطق SAML

يمكنك استخدام الأداة المساعدة acurl وget_token للوصول إلى نص برمجي مُبرمَج إلى واجهات برمجة تطبيقات Edge لمستخدمي الأجهزة في مناطق SAML. يوضح المثال التالي كيفية استخدام get_token من أجل لطلب رمز دخول ثم إضافة قيمة الرمز إلى استدعاء curl:

  USER=me@example.com
  PASS=not-that-secret
  TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
  curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'

في المثال أعلاه، سيؤدي ضبط قيمة -m على سلسلة فارغة إلى منع مستخدم الجهاز من المطالبة برمز MFA سيؤدي استخدام العلامة --force-basic-auth إلى تجاهل المطالبة القياسية لرمز المرور الذي ينشأ عن الطلبات عبر مناطق SAML.

بدلاً من ذلك، يمكنك الجمع بين طلب الرمز المميّز وطلب curl باستخدام الأداة المساعدة acurl. على سبيل المثال:

  USER=me@example.com
  PASS=not-that-secret
  acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'