عند استخدام موفِّر هوية (IdP) خارجي مع واجهة برمجة تطبيقات Edge، تُعرف العملية التي تستخدمها للحصول على الرموز المميزة للوصول إلى OAuth2 وإعادة التحميل من تفاعل موفِّر الهوية بتدفق رمز المرور. من خلال مسار رمز المرور، يمكنك استخدام متصفّح للحصول على رمز مرور لمرة واحدة تستخدمه بعد ذلك للحصول على رموز OAuth2 المميزة.
في المقابل، قد تتيح بيئة التطوير استخدام الأساليب المبرمَجة لتنفيذ مهام التطوير الشائعة، مثل التشغيل الآلي للاختبار أو CI/CD. لتنفيذ هذه المهام آليًا عند تفعيل موفِّر هوية (idP) خارجي، تحتاج إلى طريقة للحصول على رموز OAuth2 المميزة وإعادة تحميلها بدون الحاجة إلى نسخ/لصق رمز مرور من متصفّح.
يتيح Edge إمكانية إنشاء الرموز المميّزة آليًا من خلال استخدام مستخدمي الأجهزة داخل المؤسسات التي تم تفعيل موفِّر الهوية فيها. ويمكن لمستخدم الجهاز الحصول على رموز OAuth2 المميزة بدون الحاجة إلى تحديد رمز مرور. وهذا يعني أنّه يمكنك برمجة عملية الحصول على رموز OAuth2 المميزة وتحديثها باستخدام واجهة برمجة تطبيقات إدارة Edge.
هناك طريقتان لإنشاء مستخدم جهاز لمؤسسة تم تفعيل موفِّر الهوية فيها:
يتم وصف كل طريقة من هذه الطرق في الأقسام التالية.
لا يمكنك إنشاء مستخدم جهاز للمؤسسات التي لم يتم تفعيل موفِّر هوية (idP) خارجيًا لها.
إنشاء مستخدم جهاز باستخدام apigee-ssoadminapi.sh
استخدِم الأداة apigee-ssoadminapi.sh
لإنشاء مستخدم جهاز في مؤسسة تم تفعيل موفِّر الهوية فيها. راجِع استخدام
apigee-ssoadminapi.sh لمعرفة المزيد من المعلومات. ويمكنك إنشاء مستخدم جهاز واحد تستخدمه جميع المؤسسات، أو إنشاء مستخدم جهاز منفصل لكل مؤسسة.
يتم إنشاء حساب مستخدم الجهاز وتخزينه في مخزن بيانات Edge، وليس في موفِّر الهوية (idP). وبالتالي، لا تتحمّل مسؤولية الحفاظ على مستخدمي الجهاز من خلال استخدام واجهة مستخدم Edge وواجهة برمجة التطبيقات لإدارة Edge.
عند إنشاء مستخدم الجهاز، يجب تحديد عنوان بريد إلكتروني وكلمة مرور. بعد إنشاء مستخدم الجهاز، يمكنك إسناده إلى مؤسسة واحدة أو أكثر.
لإنشاء مستخدم جهاز باستخدام apigee-ssoadminapi.sh
:
- استخدِم الأمر
apigee-ssoadminapi.sh
التالي لإنشاء مستخدم الجهاز:apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \ --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \ -u machine_user_email -p machine_user_password
QUESTION/TBD: Does apigee-ssoadminapi.sh also take "ldap" as an argument?
المكان:
- SSO_ADMIN_NAME هو اسم مستخدم المشرف الذي تحدّده السمة
SSO_ADMIN_NAME
في ملف الإعداد المُستخدَم لضبط وحدة الدخول الموحّد لخدمة Apigee. والقيمة التلقائية هيssoadmin
. - SSO_ADMIN_SECRET هي كلمة مرور المشرف على النحو المحدّد في
السمة
SSO_ADMIN_SECRET
في ملف الإعداد.في هذا المثال، يمكنك حذف قيمتَي
--port
و--ssl
لأنّ وحدةapigee-sso
تستخدم القيم التلقائية 9099 للسمة--port
وhttp في--ssl
. إذا كانت عملية التثبيت لا تستخدم هذه الإعدادات التلقائية، يمكنك تحديدها حسب الحاجة.
- SSO_ADMIN_NAME هو اسم مستخدم المشرف الذي تحدّده السمة
- سجِّل الدخول إلى واجهة مستخدم Edge وأضِف البريد الإلكتروني لمستخدم الجهاز إلى مؤسساتك، مع منح مستخدم الجهاز الدور الضروري. يُرجى الاطّلاع على إضافة مستخدمين في جميع أنحاء العالم لمزيد من المعلومات.
إنشاء مستخدم للجهاز باستخدام واجهة برمجة التطبيقات Edge Management API
يمكنك إنشاء مستخدم للجهاز باستخدام واجهة برمجة تطبيقات إدارة Edge بدلاً من استخدام الأداة apigee-ssoadminapi.sh
.
لإنشاء مستخدم جهاز باستخدام واجهة برمجة تطبيقات الإدارة:
- استخدِم الأمر
curl
التالي للحصول على رمز مميّز لمستخدمssoadmin
، اسم المستخدم الخاص بحساب المشرف علىapigee-sso
:curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
تكون SSO_ADMIN_SECRET هي كلمة مرور المشرف التي أعددتها عند تثبيت
apigee-sso
على النحو المحدّد في السمةSSO_ADMIN_SECRET
في ملف الإعداد.يعرض هذا الأمر رمزًا مميزًا تحتاجه لإجراء الاستدعاء التالي.
- استخدِم الأمر
curl
التالي لإنشاء مستخدم الجهاز، مع إدخال الرمز المميّز الذي تلقّيته في الخطوة السابقة:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"
ستحتاج إلى كلمة مرور مستخدم الجهاز في الخطوات اللاحقة.
- سجّل الدخول إلى واجهة مستخدم Edge.
- أضِف عنوان البريد الإلكتروني لمستخدم الجهاز إلى مؤسساتك وامنح مستخدم الجهاز الدور اللازم. راجِع إضافة مستخدمين في جميع أنحاء العالم للاطّلاع على مزيد من المعلومات.
الحصول على الرموز المميزة لمستخدم الجهاز وإعادة تحميلها
استخدِم واجهة برمجة تطبيقات Edge للحصول على رموز OAuth2 المميزة وإعادة تحميلها من خلال تمرير بيانات اعتماد مستخدم الجهاز، بدلاً من رمز المرور.
للحصول على رموز 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 \ http://Edge_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
احفظ الرموز المميّزة لاستخدامها لاحقًا.
- مرِّر رمز الدخول إلى طلب بيانات من واجهة برمجة تطبيقات إدارة Edge على أنّه العنوان
Bearer
، على النحو الموضّح في المثال التالي:curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
حيث يكون org_name هو اسم المؤسسة التي تحتوي على مستخدم الجهاز.
- لإعادة تحميل رمز الدخول في وقت لاحق، استخدِم الطلب التالي الذي يتضمّن الرمز المميّز لإعادة التحميل:
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 \ -d 'grant_type=refresh_token&refresh_token=refreshToken'