المصادقة الأساسية هي إحدى طرق المصادقة عند إجراء طلبات إلى واجهة برمجة التطبيقات لإدارة Edge.
على سبيل المثال، يمكنك إرسال طلب curl التالي إلى Management API لإدارة Edge للوصول إلى معلومات حول مؤسستك:
curl -u USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
في هذا المثال، يمكنك استخدام الخيار curl -u لتمرير بيانات اعتماد المصادقة الأساسية. ويمكنك بدلاً من ذلك تمرير رمز OAuth2 المميّز في عنوان Bearer لإجراء طلبات بيانات من واجهة برمجة التطبيقات لإدارة Edge، كما يوضّح المثال التالي:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
بعد تفعيل موفِّر هوية خارجي للمصادقة، يمكنك إيقاف المصادقة الأساسية اختياريًا. في حال إيقاف المصادقة الأساسية، لن تعمل جميع النصوص البرمجية (مثل Maven وshell وapigeetool) التي تعتمد على طلبات بيانات من Management API في Edge والتي تتيح المصادقة الأساسية. يجب تعديل أي طلبات بيانات من واجهة برمجة التطبيقات ونصوص برمجية تستخدم المصادقة الأساسية لتمرير رموز الدخول المميزة لبروتوكول OAuth2 في العنوان Bearer.
الحصول على الرموز المميّزة وإعادة تحميلها باستخدام get_token
تتبادل الأداة المساعدة get_token بيانات اعتماد المصادقة الأساسية (وفي بعض الحالات رمز مرور) مع رمز مميز لإعادة التحميل والوصول إلى OAuth2. تقبل الأداة المساعدة get_token بيانات الاعتماد وتعرض رمز دخول صالحًا. إذا كان من الممكن إعادة تحميل الرمز المميّز، ستتم إعادة تحميله
وإرجاعه. في حال انتهاء صلاحية الرمز المميز لإعادة التحميل، سيطلب منك إدخال بيانات اعتماد المستخدم.
تخزّن الأداة المساعدة get_token الرموز المميّزة على القرص، وتكون جاهزة للاستخدام عند الحاجة. ويطبع أيضًا رمز دخول صالحًا إلى stdout. بعد ذلك، يمكنك استخدام إضافة متصفّح مثل
Postman أو تضمين الرمز في متغيّر بيئة لاستخدامه في curl.
للحصول على رمز مميز للوصول إلى OAuth2 لإجراء طلبات بيانات من واجهة برمجة تطبيقات إدارة Edge:
- نزِّل حزمة
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 أو اسم نظام أسماء النطاقات للجهاز الذي يستضيف وحدة الدخول الموحّد في Apigee. إذا أعددت بروتوكول أمان طبقة النقل (TLS) في خدمة الدخول المُوحَّد (SSO) في Apigee، استخدِم
httpsورقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح. - فك ضغط حزمة
ssocli-bundle.zip، كما هو موضّح في المثال التالي:unzip ssocli-bundle.zip
- ثبِّت
get_tokenفي/usr/local/bin، كما هو موضّح في المثال التالي:./install -b PATH
يحدّد الخيار
-bموقعًا جغرافيًا مختلفًا. - اضبط متغيّر البيئة
SSO_LOGIN_URLعلى عنوان URL لصفحة تسجيل الدخول، بالشكل التالي:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Where EDGE_SSO_IP_DNS is the IP address of the machine hosting the Apigee SSO module. إذا أعددت بروتوكول أمان طبقة النقل (TLS) في خدمة الدخول المُوحَّد (SSO) في Apigee، استخدِم
httpsورقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح. - (SAML فقط) في المتصفّح، انتقِل إلى عنوان URL التالي للحصول على رمز مرور صالح لمرة واحدة:
http://EDGE_SSO_IP_DNS:9099/passcode
إذا أعددت بروتوكول أمان طبقة النقل (TLS) في خدمة الدخول المُوحَّد (SSO) في Apigee، استخدِم
httpsورقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح.يعرض هذا الطلب رمز مرور صالحًا لمرة واحدة يظل صالحًا إلى أن تتم إعادة تحميل عنوان URL هذا للحصول على رمز مرور جديد أو إلى أن يتم استخدام رمز المرور مع
get_tokenلإنشاء رمز دخول.يُرجى العِلم أنّه يمكنك استخدام رمز مرور فقط عند المصادقة باستخدام موفِّر هوية SAML. لا يمكنك استخدام رمز مرور للمصادقة مع موفِّر هوية LDAP.
- استدعِ
get_tokenللحصول على رمز الدخول OAuth2، كما هو موضّح في المثال التالي:get_token -u EMAIL_ADDRESS
حيث يمثّل EMAIL_ADDRESS عنوان البريد الإلكتروني لمستخدم Edge.
(SAML فقط) أدخِل رمز المرور في سطر الأوامر بالإضافة إلى عنوان البريد الإلكتروني، كما هو موضّح في المثال التالي:
get_token -u EMAIL_ADDRESS -p PASSCODE
تحصل الأداة المساعدة
get_tokenعلى رمز الدخول المميز لبروتوكول OAuth2، وتطبعه على الشاشة، وتكتبه هو والرمز المميز لإعادة التحميل في~/.sso-cli. - مرِّر رمز الدخول إلى طلب بيانات من واجهة برمجة تطبيقات Management API لإدارة Edge كعنوان
Bearer، كما هو موضّح في المثال التالي:curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP:8080/v1/organizations/ORG_NAME
- بعد الحصول على رمز دخول جديد للمرة الأولى، يمكنك الحصول على رمز الدخول
وتمريره إلى طلب بيانات من واجهة برمجة التطبيقات في أمر واحد، كما يوضّح المثال التالي:
header=`get_token` && curl -H "Authorization: Bearer $header" https://MS_IP:8080/v1/o/ORG_NAME
باستخدام هذا النموذج من الأمر، إذا انتهت صلاحية رمز الدخول، تتم إعادة تحميله تلقائيًا إلى أن تنتهي صلاحية الرمز المميّز لإعادة التحميل.
(SAML فقط) بعد انتهاء صلاحية الرمز المميز لإعادة التحميل، يطلب منك get_token رمز مرور جديدًا. يجب الانتقال إلى عنوان URL الموضّح أعلاه في الخطوة 3 وإنشاء رمز مرور جديد قبل أن تتمكّن من إنشاء رمز دخول جديد لبروتوكول OAuth.
استخدام Management API للحصول على الرموز المميّزة وإعادة تحميلها
استخدام أمان OAuth2 مع واجهة برمجة التطبيقات لإدارة Apigee Edge يوضّح كيفية استخدام واجهة برمجة التطبيقات لإدارة Edge للحصول على الرموز المميزة وإعادة تحميلها. يمكنك أيضًا استخدام طلبات بيانات من واجهة برمجة التطبيقات في Edge للحصول على رموز مميّزة يتم إنشاؤها من تأكيدات SAML.
الفرق الوحيد بين طلبات البيانات من واجهة برمجة التطبيقات الموضّحة في استخدام أمان OAuth2 مع واجهة برمجة تطبيقات إدارة Apigee Edge هو أنّ عنوان URL للطلب يجب أن يشير إلى اسم منطقتك. بالإضافة إلى ذلك، لإنشاء رمز الدخول الأولي باستخدام موفِّر هوية 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'