استخدام أداتَي get_token وacurl

توفّر Apigee الأداتَين المساعدتَين get_token وacurl لتسهيل التفاعل مع خدمة الدخول الموحّد (SSO) في Apigee وواجهة Edge Management API. تتعامل هاتان الأداتان تلقائيًا مع إنشاء الرموز المميّزة وتخزينها مؤقتًا وإعادة تحميلها وإدخالها.

يتم تثبيت الأدوات المساعدة على عقدة OpenLDAP في /opt/apigee/apigee-openldap/bin/.

الأداة المساعدة get_token

الأداة المساعدة get_token مسؤولة عن الحصول على رموز الدخول وإعادة التحميل لبروتوكول OIDC/OAuth2. وهي تتيح مسارَي مصادقة أساسيَين وتتضمّن ميزة تخزين الرموز المميّزة مؤقتًا.

مسارات المصادقة

  • مسار رمز الجهاز (RFC 8628): تم تصميمه للمستخدمين الذين تتم مصادقتهم من خلال موفِّر هوية خارجي (مثل SAML أو Okta أو OIDC). إذا مرّرت عنوان بريد إلكتروني فقط (-u <email>)، تبدأ الأداة المساعدة هذا المسار، وتطلب منك عنوان URL ورمزًا للموافقة عليهما في متصفّح.
  • منح كلمة المرور (ROPC): تم تصميمه للمستخدمين الذين يستخدمون أجهزة بدون واجهة مستخدم والنصوص البرمجية المُبرمَجة. إذا مرّرت اسم مستخدم وكلمة مرور (-u <user>:<password>)، تتم المصادقة مباشرةً على خدمة الدخول الموحّد (SSO) في Apigee بدون التفاعل مع المتصفّح.

تخزين الرموز المميّزة مؤقتًا وإعادة تحميلها تلقائيًا

تُدير الأداة المساعدة get_token تلقائيًا دورات حياة الرموز المميّزة، لذا لن تحتاج إلى تتبُّع أوقات انتهاء الصلاحية يدويًا:

  • التحقّق من ذاكرة التخزين المؤقت: عند استدعاء، get_token تتحقّق الأداة من ذاكرة التخزين المؤقت المحلية في ~/.sso-cli/<username>-token.json. إذا كان هناك رمز مميّز صالح ولم تنتهِ صلاحيته، تتم إعادة استخدامه بدون إعادة المصادقة.
  • إعادة التحميل التلقائي: إذا انتهت صلاحية رمز الدخول المخزّن مؤقتًا ولكن كان هناك رمز مميّز صالح لإعادة التحميل، تبادل الأداة تلقائيًا رمز إعادة التحميل في خدمة الدخول الموحّد (SSO) في Apigee مقابل رمز دخول جديد.

متغيّرات البيئة

يمكنك تخصيص سلوك get_token اختياريًا باستخدام متغيّرات البيئة التالية:

  • SSO_LOGIN_URL: عنوان URL لخدمة الدخول الموحّد (SSO) في Apigee (الإعداد التلقائي: http://localhost:9099)
  • CLIENT_ID: معرّف عميل OAuth2 (الإعداد التلقائي: edgecli)
  • CLIENT_SECRET: سر عميل OAuth2 (الإعداد التلقائي: edgeclisecret)

الأداة المساعدة acurl

الأداة المساعدة acurl هي برنامج تضمين شفاف حول الأمر curl العادي. وهي تضمن أن يتضمّن كل طلب إلى واجهة برمجة التطبيقات رمزًا مميّزًا صالحًا من نوع Bearer.

  • فصل الوسيطات: تستخرج الأداة الوسيطة -u <user:password> أو -u <user> وتمرّرها إلى get_token. وتعيد توجيه جميع الوسيطات الأخرى (مثل -X و-H و-d و-v و-s) مباشرةً إلى الأمر curl العادي.
  • التنفيذ: بعد الحصول على رمز مميّز صالح أو استرداده بنجاح من get_token، تُدخِل acurl تلقائيًا العنوان -H "Authorization: Bearer <token>" في استدعاء curl.

أمثلة على استخدام هذه الكلمة في جملة

المثال 1: تسجيل الدخول التفاعلي لمستخدم

/opt/apigee/apigee-openldap/bin/acurl -u developer@apigee.com http://MS_IP_DNS:8080/v1/organizations

يؤدي هذا الأمر إلى إيقاف التنفيذ مؤقتًا، ويطلب من المستخدم الانتقال إلى متصفّح للمصادقة من خلال موفِّر الهوية الخارجي، ثم يتم تنفيذ طلب واجهة برمجة التطبيقات بعد الموافقة عليه.

المثال 2: تسجيل الدخول بدون واجهة مستخدم لمستخدم آلة

/opt/apigee/apigee-openldap/bin/acurl -u jenkins-bot@apigee.com:Secret123! http://MS_IP_DNS:8080/v1/organizations

تتم المصادقة مباشرةً من خلال منح كلمة المرور ويتم تنفيذ طلب بيانات من واجهة برمجة التطبيقات على الفور.

المثال 3: إعادة استخدام رمز مميّز مخزّن مؤقتًا

/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/users

بما أنّ الرمز المميّز تم تخزينه مؤقتًا في الخطوات السابقة، لن تحتاج إلى تقديم الوسيطة -u مرة أخرى. تقرأ الأداة الرمز المميّز المخزّن مؤقتًا وتُدخله تلقائيًا.