تفعيل استرداد رموز الدخول عبر OAuth 2.0 وإبطالها حسب رقم تعريف المستخدم أو رقم تعريف التطبيق أو كليهما

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

يوضّح هذا القسم طريقة تفعيل استرداد رموز الدخول عبر بروتوكول OAuth 2.0 وإبطالها حسب رقم تعريف المستخدم النهائي أو رقم تعريف التطبيق أو كليهما. تتطلّب ميزة رقم تعريف المستخدم النهائي إعدادًا خاصًا كما هو موضّح في هذا الموضوع. ونقصد بالمستخدم النهائي هو مستخدم التطبيق الذي يطلب واجهة برمجة التطبيقات.

حالات تفعيل إذن الوصول إلى رقم تعريف المستخدم

قد يكون من المفيد أحيانًا تخزين رقم تعريف المستخدم في رمز الدخول. لا تفعِّل ميزة الوصول إلى رقم تعريف المستخدم إلا إذا كانت لديك حالة استخدام جيدة. مثال:

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

معلومات عن رموز الدخول عبر OAuth

تتم إضافة أرقام تعريف التطبيقات تلقائيًا إلى رمز الدخول عبر OAuth. ولذلك، بعد تفعيل إمكانية الوصول إلى الرمز المميّز لمؤسسة كما هو موضّح أدناه، يمكنك إبطال رموز الدخول حسب رقم تعريف التطبيق.

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

بشكل تلقائي، عندما ينشئ Edge رمز دخول OAuth 2.0، يكون للرمز المميّز التنسيق الموضح أدناه:

{
 "issued_at" : "1421847736581",
 "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
 "scope" : "READ",
 "status" : "approved",
 "api_product_list" : "[PremiumWeatherAPI]",
 "expires_in" : "3599", //--in seconds
 "developer.email" : "tesla@weathersample.com",
 "organization_id" : "0",
 "token_type" : "BearerToken",
 "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
 "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
 "organization_name" : "myorg",
 "refresh_token_expires_in" : "0", //--in seconds
 "refresh_count" : "0"
}

لاحظ ما يلي:

  • يحتوي الحقل application_name على المعرّف الفريد العالمي للتطبيق المرتبط بالرمز المميّز. في حال تفعيل استرداد رموز الدخول عبر بروتوكول OAuth 2.0 وإبطالها حسب رقم تعريف التطبيق، تكون هذه القيمة هي رقم تعريف التطبيق الذي تستخدمه.
  • يحتوي حقل access_token على قيمة رمز الدخول عبر OAuth 2.0.

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

تمرِّر معرّف المستخدم النهائي إلى نقطة نهاية إنشاء الرمز المميّز. يمكنك ضبط رقم تعريف المستخدم النهائي كمَعلمة طلب بحث أو مَعلمة نموذج أو في عنوان (كما هو موضّح لاحقًا في هذا الموضوع). بعد ضبط Edge لتضمين رقم تعريف المستخدم النهائي في الرمز المميّز، يتم تضمينه كحقل app_enduser على النحو الموضّح أدناه:

{
 "issued_at" : "1421847736581",
 "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
 "scope" : "READ",
 "app_enduser" : "6ZG094fgnjNf02EK",
 "status" : "approved",
 "api_product_list" : "[PremiumWeatherAPI]",
 "expires_in" : "3599", //--in seconds
 "developer.email" : "tesla@weathersample.com",
 "organization_id" : "0",
 "token_type" : "BearerToken",
 "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
 "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
 "organization_name" : "myorg",
 "refresh_token_expires_in" : "0", //--in seconds
 "refresh_count" : "0"
}

للتعرّف على طريقة إجراء طلبات البيانات من واجهة برمجة التطبيقات التي تؤدي إلى عمليات الاسترداد والإبطال هذه، يُرجى الاطّلاع على "مستندات Google الذكية" التالية:

تفعيل الوصول إلى رموز OAuth 2.0 المميزة من خلال رقم تعريف المستخدم ورقم تعريف التطبيق

إنّ طريقة تفعيل إمكانية الوصول إلى رموز OAuth 2.0 المميزة حسب رقم تعريف المستخدم ورقم تعريف التطبيق تعتمد على طريقة تفعيلك لبرنامج Edge:

  • النشر المستنِد إلى السحابة الإلكترونية

    ويعني نشر Edge المستنِد إلى السحابة الإلكترونية أنّ Apigee تعمل على معالجة معظم الإعدادات. وتقع على عاتقك مسؤولية ضبط سياسة OAuth 2.0 فقط لإضافة رقم تعريف المستخدم إلى رمز الدخول. لمزيد من المعلومات، يُرجى الاطّلاع على الإجراء أدناه.

  • Edge للنشر على السحابة الإلكترونية الخاصة

    في Apigee Edge for Private Cloud (داخل الشركة)، تكون أنت مسؤولاً تمامًا عن عملية الإعداد. للحصول على مزيد من المعلومات، يُرجى الاطّلاع على العمليات والضبط.

  • مزيج Apigee المختلط

    يتم تفعيل الوصول إلى رموز OAuth 2.0 المميزة من خلال رقم تعريف المستخدم تلقائيًا. وتقع على عاتقك مسؤولية ضبط سياسة OAuth 2.0 فقط لإضافة رقم تعريف المستخدم إلى رمز الدخول. لمزيد من المعلومات، يُرجى الاطِّلاع على الخطوة 5 من الإجراء أدناه.

إتاحة الوصول في السحابة الإلكترونية

الخطوة 1: تفعيل مؤسسة لإتاحة هذه الميزة

يجب تفعيل هذه الميزة لكل مؤسسة تريد إتاحة هذه الميزة فيها.

يمكنك التواصل مع فريق دعم Apigee Edge لطلب تحديث مؤسستك.

الخطوة 2: توفير أذونات مورد oauth2 لأدوار مسؤولي العمليات ومشرف المؤسسة

يجب أن يتم منح أذونات لمشرف المؤسسة ومشرف التشغيل فقط لإجراء عمليات استرداد (get) وإبطال (put) الطلبات إلى مورد oauth2 استنادًا إلى رقم تعريف المستخدم النهائي أو رقم تعريف التطبيق.

يمكنك استخدام الحصول على إذن لاستدعاء الموارد من واجهة برمجة التطبيقات لمعرفة الأدوار التي حصلت على أذونات get وput لمورد oauth2.

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

الخطوة 3: نسخ رموز الدخول الحالية من OAuth 2.0 إلى عُقد Cassandra

تم تنفيذ الإجراء من قِبل فريق دعم Apigee: في هذه المهمة، سيتم نسخ نُسخ من رموز الدخول الحالية الخاصة ببروتوكول OAuth 2.0 في المؤسسات المتأثرة وتخزينها في عُقد Cassandra. سيتم تنفيذ هذا الإجراء على عُقد Cassandra لكل مجموعة من لوحات Apigee Edge. سيتيح هذا الإجراء تنفيذ طلبات استرداد البيانات من واجهة برمجة التطبيقات وإبطالها مقابل كل رموز الدخول عبر OAuth 2.0 الحالية والحديثة.

الخطوة 4: إضافة سمة oauth_max_search_limit إلى خادم الإدارة ومعالج الرسائل

في هذه المهمة، سيتم تعديل ملفات keymanagement.properties لخادم الإدارة ومعالج الرسائل لتضمين هذه السمة: oauth_max_search_limit = 100. 100 هي القيمة التي يُنصَح بها مع Apigee، ولكن يمكن ضبطها على النحو الذي تراه مناسبًا.

يمكنك التواصل مع فريق دعم Apigee Edge لطلب إجراء هذه الإضافة.

الخطوة 5: ضبط سياسة OAuth 2.0 لإنشاء رموز الدخول التي تتضمّن أرقام تعريف المستخدمين النهائيين

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

لضبط السياسة من أجل تضمين رقم تعريف المستخدم النهائي في رمز الدخول، عليك تحديد متغيّر الإدخال الذي يحتوي على رقم تعريف المستخدم النهائي. استخدِم العلامة <AppEndUser> لتحديد المتغيّر.

تنشئ سياسة OAuth 2.0 أدناه، المسماة GenerateAccessTokenClient، رمز دخول OAuth 2.0. يُرجى العلم أنّ إضافة علامة <AppEndUser> بخط غامق:

<OAuthV2 async="false" continueOnError="false" enabled="true" name="GenerateAccessTokenClient">
  <DisplayName>OAuth 2.0.0 1</DisplayName>
  <ExternalAuthorization>false</ExternalAuthorization>
  <Operation>GenerateAccessToken</Operation>
  <SupportedGrantTypes>
    <GrantType>client_credentials</GrantType>
  </SupportedGrantTypes>
  <GenerateResponse enabled="true"/>
  <GrantType>request.queryparam.grant_type</GrantType>
  <AppEndUser>request.header.appuserID</AppEndUser>
  <ExpiresIn>960000</ExpiresIn>
</OAuthV2>

يمكنك بعد ذلك استخدام أمر cURL التالي لإنشاء رمز الدخول عبر OAuth 2.0، مع تمرير رقم تعريف المستخدم في شكل عنوان appuserID:

curl -H "appuserID:6ZG094fgnjNf02EK" /
  https://myorg-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials /
  -X POST /
  -d 'client_id=k3nJyFJIA3p62TKIkLO6OJNi87GYXFmP&client_secret=gk58jK5lIp943AY4'

في هذا المثال، يتم تمرير appuserID كعنوان طلب. يمكنك تمرير المعلومات كجزء من الطلب بعدة طرق. على سبيل المثال، يمكنك كبديل:

  • استخدام متغيّر معلَمة النموذج: request.formparam.appuserID
  • استخدام متغيّر تدفق يقدّم رقم تعريف المستخدم النهائي