أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
يوضِّح هذا القسم كيفية تفعيل استرداد رموز الوصول إلى 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 على معرّف UUID للتطبيق المرتبط بالرمز المميّز. إذا فعّلت استرداد رموز الوصول لبروتوكول OAuth 2.0 وإبطالها حسب معرّف التطبيق، هذا هو معرّف التطبيق الذي تستخدمه.
- يحتوي حقل access_token على قيمة رمز دخول OAuth 2.0.
لا يتوفّر حقل لرقم تعريف المستخدم النهائي في رمز الوصول التلقائي عبر OAuth. لتفعيل استرداد رموز الوصول إلى OAuth 2.0 وإبطالها حسب رقم تعريف المستخدم النهائي، عليك ضبط سياسة OAuth 2.0 لتضمين رقم تعريف المستخدم في الرمز المميّز، كما هو موضّح في الإجراء أدناه. يُرجى العلم أنّه إذا أردت فقط retrieving and revoke OAuth 2.0 access tokens by app ID، فلا داعي لتفعيل الوصول باستخدام معرّف المستخدم النهائي.
يمكنك تمرير رقم تعريف المستخدم النهائي إلى نقطة نهاية إنشاء الرمز المميّز. يمكنك تمرير رقم تعريف المستخدم النهائي كمَعلمة طلب بحث أو مَعلمة نموذج أو في عنوان (كما هو موضّح لاحقًا في هذا الموضوع). بعد ضبط 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" }
للتعرّف على كيفية إجراء طلبات البيانات من واجهة برمجة التطبيقات التي تُجري عمليات الاسترداد والإبطال هذه، يُرجى الاطّلاع على مقالة "المستندات الذكية" التالية:
- إبطال رمز دخول OAuth2 حسب المستخدم النهائي أو رقم تعريف التطبيق
- الحصول على إذن الوصول باستخدام OAuth2 رمز مميز حسب المستخدم النهائي أو رقم تعريف التطبيق
تفعيل الوصول إلى الرموز المميزة لبروتوكول OAuth 2.0 باستخدام معرّف المستخدم ومعرّف التطبيق
تعتمد كيفية تفعيل الوصول إلى الرموز المميزة لبروتوكول OAuth 2.0 حسب رقم تعريف المستخدم ورقم تعريف التطبيق على كيفية نشر Edge:
النشر المستنِد إلى السحابة الإلكترونية
يعني نشر Edge المستنِد إلى السحابة الإلكترونية أنّ معظم عمليات الضبط تتم من خلال Apigee. أنت وحدك المسؤول عن ضبط سياسة OAuth 2.0 لإضافة معرّف المستخدم إلى رمز الوصول. لمزيد من المعلومات، يُرجى الاطّلاع على الإجراء أدناه.
نشر Edge for Private Cloud
في Apigee Edge for Private Cloud (داخل المؤسسة)، تكون أنت المسؤول بالكامل عن الضبط. لمزيد من المعلومات، يُرجى الاطّلاع على العمليات والإعداد.
Apigee hybrid
يكون الوصول إلى الرموز المميزة لبروتوكول OAuth 2.0 حسب رقم تعريف المستخدم مفعّلاً تلقائيًا. أنت وحدك المسؤول عن ضبط سياسة OAuth 2.0 لإضافة معرّف المستخدم إلى رمز الوصول. لمزيد من المعلومات، يُرجى الاطّلاع على الخطوة 5 من الإجراء أدناه.
تفعيل إمكانية الوصول في السحابة الإلكترونية
الخطوة 1: تفعيل ميزة "الاستجابة الذكية" في المؤسسة
يجب تفعيل هذه الميزة لكل مؤسسة تريد إتاحة هذه الميزة فيها.
يُرجى التواصل مع فريق دعم Apigee Edge لتعديل مؤسستك.
الخطوة 2: منح أذونات الموارد oauth2 لدورَي opsadmin وorgadmin
يجب منح أدوار orgadmin وopsadmin فقط
أذونات لإجراء طلبات الاسترداد (get
) والإبطال (put
) هذه لمورد oauth2
استنادًا إلى رقم تعريف المستخدم النهائي أو رقم تعريف التطبيق.
يمكنك استخدام طلب البيانات Get Permission
for a Resource من واجهة برمجة التطبيقات لمعرفة الأدوار التي لديها أذونات get
وput
لمورد oauth2
.
إذا كنت بحاجة إلى إضافة أي أذونات أو إزالتها، يُرجى التواصل مع فريق دعم Apigee Edge لاطلاعه على التعديلات المطلوب إجراؤها.
الخطوة 3: نسخ رموز الوصول الحالية عبر OAuth 2.0 إلى عقد Cassandra
تُنفَّذ من قِبل فريق دعم Apigee: في هذه المهمة، سيتم نسخ نُسخ من الرموز المميّزة الحالية لبروتوكول OAuth 2.0 للوصول في المؤسسات المتأثرة وتخزينها في عقد Cassandra. سيتم تنفيذ هذا الإجراء على عقد Cassandra لكل مجموعة من مجموعات Apigee Edge. سيتيح ذلك استرداد طلبات بيانات واجهة برمجة التطبيقات وإبطالها لتنفيذها على جميع رموز الوصول إلى OAuth 2.0، سواء كانت حالية أو تم إنشاؤها حديثًا.
الخطوة 4: ضبط سياسة 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
- استخدام متغيّر مسار يقدّم رقم تعريف المستخدم النهائي