الإصدار 4.18.01 من Edge for Private Cloud
تُعد المصادقة الأساسية إحدى طرق المصادقة عند إجراء اتصالات بواجهة برمجة تطبيقات إدارة Edge. على سبيل المثال، يمكنك إرسال طلب cURL التالي إلى واجهة برمجة التطبيقات Edge management API للوصول إلى معلومات عن مؤسستك:
> curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
في هذا المثال، يتم استخدام خيار cURL -u لتمرير بيانات اعتماد المصادقة الأساسية. بدلاً من ذلك، تمرير رمز OAuth2 المميز في الرأس Bearer لإنشاء واجهة برمجة تطبيقات إدارة Edge الاتصالات. على سبيل المثال:
> curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
بعد تفعيل SAML، يمكنك إيقاف المصادقة الأساسية اختياريًا. إذا أوقفت المصادقة الأساسية، سيتم إيقاف جميع النصوص البرمجية (النصوص البرمجية لـ Maven والنصوص البرمجية للأوامر وapigeetool وغيرها) التي تعتمد على Edge طلبات البيانات من واجهة برمجة التطبيقات التي تدعم المصادقة الأساسية لم تعد تعمل. يجب تحديث أي طلبات بيانات من واجهة برمجة التطبيقات النصوص البرمجية التي تستخدم المصادقة الأساسية لتمرير رموز الدخول عبر OAuth2 في رأس الحامل.
استخدام get_token للحصول على الرموز المميّزة وإعادة تحميلها
تستخدِم الأداة get_token بيانات اعتماد المصادقة الأساسية ورمز مرور للحصول على رمزَي دخول وإعادة تحميل OAuth2. تقبل الأداة get_token بيانات اعتمادك وتطبع رمز دخول صالحًا. إذا كان بالإمكان إعادة تحميل الرمز المميّز، ستتم إعادة تحميله وطباعته. إذا انتهت صلاحية الرمز المميّز لإعادة التحميل، سيظهر لطلب بيانات اعتماد المستخدم.
تخزِّن الأداة get_token الرموز المميّزة على القرص، وتكون جاهزة للاستخدام عند الحاجة. كما تقوم بطباعة رمز دخول صالح من أجل stdout. من هناك، يمكنك استخدام Postman أو تضمينه في متغيّر بيئة لاستخدامه في curl.
توضِّح الخطوات التالية كيفية استخدام get_token للحصول على رمز مميز للوصول إلى OAuth2 من أجل إجراء طلبات إلى Edge management API:
- نزِّل sso-cli
الحزمة:
> ضفيرة 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 ورقم منفذ بروتوكول أمان طبقة النقل (TLS) الصحيح. - احرص على فك ضغط ssocli-bundle.zip
الحزمة:
> فك الضغط ssocli-bundle.zip - ثبِّت get_token في
/usr/local/bin:
> ./install استخدِم الخيار -b لتحديد موقع مختلف: > ./install -b path - اضبط متغيّر البيئة 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) الصحيح. - في متصفّح، انتقِل إلى عنوان URL التالي للحصول على رمز مرور صالح لمرة واحدة:
http://edge_sso_IP_DNS:9099/passcode
إذا أعددت بروتوكول أمان طبقة النقل (TLS) على الدخول المُوحَّد في Edge، استخدِم https ورقم منفذ TLS الصحيح.
ملاحظة: في حال عدم تسجيل الدخول حاليًا من خلال موفِّر الهوية، عليك إجراء ما يلي: سيُطلب منك تسجيل الدخول.
يعرض عنوان URL هذا رمز مرور صالحًا لمرة واحدة يظل صالحًا إلى أن تُعيد تحميل عنوان URL هذا للحصول على رمز مرور جديد، أو إلى أن تستخدم رمز المرور مع get_token لإنشاء رمز مميّز للوصول. - استخدِم 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 في النموذج:
> الحصول على_الرمز المميّز -u emailAddress -p رمز المرور - نقْل رمز الوصول إلى طلب بيانات من واجهة برمجة تطبيقات إدارة Edge كعنوان Bearer:
> curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
بعد الحصول على رمز وصول جديد للمرة الأولى، يمكنك الحصول على رمز الوصول ونقْله إلى طلب بيانات من واجهة برمجة التطبيقات في أمر واحد، كما هو موضّح أدناه:
> header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
باستخدام هذا الشكل من الأمر، إذا انتهت صلاحية رمز الوصول، تتم إعادة تحميله تلقائيًا إلى أن تنتهي صلاحية رمز إعادة التحميل.
بعد انتهاء صلاحية الرمز المميّز لإعادة التحميل، سيطلب منك get_token إدخال رمز مرور جديد. يجب الانتقال إلى عنوان URL المعروض أعلاه في الخطوة 3 وإنشاء رمز مرور جديد قبل أن تتمكّن من إنشاء رمز دخول OAuth جديد.
استخدام واجهة برمجة تطبيقات الإدارة للحصول على التحديثات وإعادة تحميلها رموز مميزة
يحتوي مقالة استخدام أمان OAuth2 مع واجهة برمجة التطبيقات Apigee Edge management API على تعليمات توضّح كيفية استخدام واجهة برمجة التطبيقات Edge management API للحصول على الرموز المميّزة وإعادة تحميلها. يمكنك أيضًا استخدام طلبات Edge API للحصول على الرموز المميّزة التي تم إنشاؤها من تأكيدات SAML.
الاختلاف الوحيد بين طلبات البيانات من واجهة برمجة التطبيقات الموثَّقة في مقالة استخدام أمان OAuth2 مع واجهة برمجة التطبيقات Apigee Edge management API هو أنّ عنوان 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'