أنت الآن بصدد الاطّلاع على مستندات 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 لتضمين رقم تعريف المستخدم في الرمز، كما هو موضّح في الخطوات أدناه. يُرجى العِلم أنّه إذا أردت فقط استرداد رموز الدخول عبر 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" }
للتعرّف على كيفية إجراء طلبات واجهة برمجة التطبيقات التي تنفّذ عمليات الاسترداد والإبطال هذه، يُرجى الاطّلاع على مستندات Smart Docs التالية:
- إبطال رمز دخول OAuth2 حسب رقم تعريف المستخدم النهائي أو رقم تعريف التطبيق
- الحصول على رمز دخول OAuth2 حسب رقم تعريف المستخدم النهائي أو رقم تعريف التطبيق
تفعيل إمكانية الوصول إلى رموز OAuth 2.0 حسب رقم تعريف المستخدم ورقم تعريف التطبيق
تعتمد طريقة تفعيل إمكانية الوصول إلى رموز OAuth 2.0 حسب رقم تعريف المستخدم ورقم تعريف التطبيق على طريقة نشر Edge:
النشر المستند إلى السحابة الإلكترونية
يعني النشر المستند إلى السحابة الإلكترونية لـ Edge أنّ معظم عملية الضبط تتولاها Apigee. عليك فقط ضبط سياسة OAuth 2.0 لإضافة رقم تعريف المستخدم إلى رمز الدخول. لمزيد من المعلومات، يُرجى الاطّلاع على الخطوات أدناه.
نشر Apigee Edge Private Cloud
في Apigee Edge Private Cloud (في مقر المؤسسة)، أنت المسؤول بالكامل عن عملية الضبط. لمزيد من المعلومات، يُرجى الاطّلاع على العمليات و الإعدادات.
Apigee Hybrid
تكون إمكانية الوصول إلى رموز OAuth 2.0 حسب رقم تعريف المستخدم مفعّلة تلقائيًا. عليك فقط ضبط سياسة OAuth 2.0 لإضافة رقم تعريف المستخدم إلى رمز الدخول. لمزيد من المعلومات، يُرجى الاطّلاع على الخطوة 5 من الخطوات أدناه.
تفعيل إمكانية الوصول في السحابة الإلكترونية
الخطوة 1: تفعيل مؤسسة لدعم هذه الميزة
يجب تفعيل هذه الميزة لكل مؤسسة تريد أن تدعمها.
يُرجى التواصل مع فريق دعم Apigee Edge لطلب تعديل مؤسستك.
الخطوة 2: منح أذونات موارد oauth2 لأدوار مشرف العمليات ومشرف المؤسسة
يجب منح أذونات إجراء طلبات الاسترداد (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
- استخدام متغيّر سير عمل يوفّر رقم تعريف المستخدم النهائي