أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
ما ستتعلمه
من خلال هذا البرنامج التعليمي، ستتعلّم كيفية:
- أنشئ خادمًا وكيلاً لواجهة برمجة التطبيقات يتطلّب مفتاح واجهة برمجة تطبيقات.
- أضِف منتجًا من منتجات واجهة برمجة التطبيقات.
- أضِف مطوِّرًا وسجِّل تطبيقًا.
- استدعِ واجهة برمجة التطبيقات باستخدام مفتاح واجهة برمجة التطبيقات.
من المهم حماية واجهة برمجة التطبيقات من الوصول غير المصرَّح به. إحدى الطرق لتنفيذ ذلك هي استخدام مفاتيح واجهة برمجة التطبيقات (المعروفة أيضًا باسم المفاتيح العامة أو مفاتيح المستهلك أو مفاتيح التطبيق).
عندما يرسل تطبيق طلبًا إلى واجهة برمجة التطبيقات، يجب أن يقدّم مفتاحًا صالحًا. أثناء وقت التشغيل، تتحقّق سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" مما يلي:
- صالحة
- لم يتم إبطالها
- تتطابق مع مفتاح واجهة برمجة التطبيقات لمنتج واجهة برمجة التطبيقات الذي يعرض الموارد المطلوبة
إذا كان المفتاح صالحًا، يُسمح بالطلب. إذا كان المفتاح غير صالح، سيؤدي الطلب إلى تعذُّر الحصول على إذن.
في هذا البرنامج التعليمي، ستنشئ خادمًا وكيلاً لواجهة برمجة التطبيقات يتطلّب مفتاحًا صالحًا لواجهة برمجة التطبيقات للوصول إليه.
المتطلبات
- حساب على Apigee Edge إذا لم يكن لديك حساب، يمكنك الاشتراك باتّباع التعليمات الواردة في إنشاء حساب على Apigee Edge.
- متصفّح ويب لإرسال طلب بيانات من واجهة برمجة التطبيقات
- (بالنسبة إلى قسم الرصيد الإضافي، ليس مطلوبًا) تثبيت cURL على جهازك لإجراء طلبات البيانات من واجهة برمجة التطبيقات من سطر الأوامر
إنشاء خادم وكيل لواجهة برمجة التطبيقات
- انتقِل إلى https://apigee.com/edge وسجِّل الدخول.
انتقِل إلى المؤسسة التي تريدها من خلال النقر على اسم المستخدم في أعلى شريط التنقّل الجانبي لعرض قائمة الملف الشخصي للمستخدم، ثم اختَر المؤسسة من القائمة.
-
انقر على خوادم وكيلة لواجهة برمجة التطبيقات في الصفحة المقصودة لعرض قائمة الخوادم الوكيلة لواجهة برمجة التطبيقات.
- انقر على + خادم وكيل.

- في صفحة إنشاء خادم وكيل، اختَر الخادم الوكيل العكسي (الأكثر شيوعًا).
- في صفحة تفاصيل الخادم الوكيل، اضبط الخادم الوكيل على النحو التالي:
في هذا الحقل اتّبِع الخطوات التالية اسم الخادم الوكيل أدخِل: helloworld_apikeyمسار قاعدة المشروع التغيير إلى:
/helloapikeyمسار قاعدة المشروع هو جزء من عنوان URL المستخدَم لإرسال الطلبات إلى خادم وكيل لواجهة برمجة التطبيقات.
ملاحظة: للاطّلاع على اقتراحات Apigee بشأن إصدارات واجهات برمجة التطبيقات، راجِع إصدارات في الكتاب الإلكتروني تصميم واجهات برمجة التطبيقات على الويب: الرابط المفقود.
واجهة برمجة التطبيقات الحالية أدخِل:
http://mocktarget.apigee.netتحدّد هذه السمة عنوان URL المستهدف الذي يستدعيه Apigee Edge عند إرسال طلب إلى خادم وكيل لواجهة برمجة التطبيقات.
الوصف أدخِل: hello world protected by API key - انقر على التالي.
- في صفحة السياسات الشائعة، ضِمن الأمان: التفويض، اختَر مفتاح واجهة برمجة التطبيقات، ثم انقر على التالي. سيؤدي ذلك إلى إضافة سياستَين إلى خادم وكيل واجهة برمجة التطبيقات.
- في صفحة المضيفون الافتراضيون، اختَر default وsecure، ثم انقر على التالي. يسمح لك تحديد تلقائي باستدعاء واجهة برمجة التطبيقات باستخدام
http://. يسمح لك اختيار آمن بإجراء طلب إلى واجهة برمجة التطبيقات باستخدامhttps://. - في صفحة الملخّص، تأكَّد من اختيار بيئة نشر الاختبار، ثم انقر على إنشاء ونشر.
- سيظهر لك إقرار بأنّه تم إنشاء وكيل واجهة برمجة التطبيقات الجديد ومنتج واجهة برمجة التطبيقات بنجاح، وأنّه تم نشر وكيل واجهة برمجة التطبيقات في بيئة الاختبار.
- انقر على تعديل الخادم الوكيل لعرض صفحة نظرة عامة الخاصة بخادم وكيل واجهة برمجة التطبيقات.
الاطّلاع على السياسات
- في محرّر خادم وكيل لواجهة برمجة التطبيقات، انقر على علامة التبويب تطوير. ستلاحظ أنّه تمت إضافة سياستَين إلى مسار الطلب لوكيل واجهة برمجة التطبيقات:
- التحقّق من مفتاح واجهة برمجة التطبيقات: يتحقّق من طلب البيانات من واجهة برمجة التطبيقات للتأكّد من توفّر مفتاح صالح لواجهة برمجة التطبيقات (يتم إرساله كمعلَمة طلب بحث).
- إزالة مَعلمة طلب البحث apikey: سياسة AssignMessage تزيل مفتاح واجهة برمجة التطبيقات بعد التحقّق منه، وذلك لكي لا يتم تمريره واستخدامه بدون داعٍ.
-
انقر على رمز سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" في عرض المخطط، واطّلِع على إعدادات XML الخاصة بالسياسة في عرض الرمز البرمجي السفلي. يخبر العنصر
<APIKey>السياسة بمكان البحث عن مفتاح واجهة برمجة التطبيقات عند إجراء عملية الاستدعاء. يبحث تلقائيًا عن المفتاح كمعلَمة طلب بحث باسمapikeyفي طلب HTTP:<APIKey ref="request.queryparam.apikey" />
الاسم
apikeyاختياري ويمكن أن يكون أي خاصية تحتوي على مفتاح واجهة برمجة التطبيقات.
محاولة استدعاء واجهة برمجة التطبيقات
في هذه الخطوة، ستُجري طلب بيانات من واجهة برمجة التطبيقات ناجحًا مباشرةً إلى الخدمة المستهدَفة، ثم ستُجري طلب بيانات من واجهة برمجة التطبيقات غير ناجح إلى الخادم الوكيل لواجهة برمجة التطبيقات لمعرفة كيفية حمايته بواسطة السياسات.
-
تم بنجاح
في متصفّح الويب، انتقِل إلى العنوان التالي. هذه هي الخدمة المستهدَفة التي تم ضبط خادم وكيل واجهة برمجة التطبيقات لإعادة توجيه الطلب إليها، ولكن سيتم الوصول إليها مباشرةً في الوقت الحالي:
http://mocktarget.apigee.net
من المفترض أن تتلقّى الردّ الناجح التالي:
Hello, Guest! -
تعذُّر
الآن، حاوِل إرسال طلب إلى خادم وكيل واجهة برمجة التطبيقات:
http://ORG_NAME-test.apigee.net/helloapikey
استبدِل
ORG_NAMEباسم مؤسسة Edge.بدون سياسة Verify API Key، سيمنحك هذا الطلب الردّ نفسه الذي تلقّيته في الطلب السابق. ولكن في هذه الحالة، من المفترض أن تتلقّى استجابة الخطأ التالية:
{"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
ما يعني، بشكل صحيح، أنّك لم تقدّم مفتاحًا صالحًا لواجهة برمجة التطبيقات (كمَعلمة طلب بحث).
في الخطوات التالية، ستضيف منتجًا من منتجات واجهة برمجة التطبيقات.
إضافة منتج لواجهة برمجة التطبيقات
لإضافة منتج API باستخدام واجهة مستخدم Apigee، اتّبِع الخطوات التالية:
- انقر على نشر > منتجات واجهة برمجة التطبيقات.
- انقر على + منتج واجهة برمجة التطبيقات.
أدخِل تفاصيل المنتج لمنتج واجهة برمجة التطبيقات.
الحقل الوصف الاسم الاسم الداخلي لمنتج واجهة برمجة التطبيقات لا تحدّد رموزًا خاصة في الاسم.
ملاحظة: لا يمكنك تعديل الاسم بعد إنشاء منتج واجهة برمجة التطبيقات. على سبيل المثال،helloworld_apikey-Product.الاسم المعروض الاسم المعروض لمنتج واجهة برمجة التطبيقات يُستخدم الاسم المعروض في واجهة المستخدم ويمكنك تعديله في أي وقت. في حال عدم تحديدها، سيتم استخدام قيمة الاسم. يتم ملء هذا الحقل تلقائيًا باستخدام قيمة "الاسم"، ويمكنك تعديل محتواه أو حذفه. يمكن أن يتضمّن الاسم المعروض رموزًا خاصة. على سبيل المثال، helloworld_apikey-Product.الوصف وصف المنتج المستند إلى واجهة برمجة التطبيقات مثلاً: Test product for tutorialالبيئة البيئات التي سيسمح منتج واجهة برمجة التطبيقات بالوصول إليها على سبيل المثال، testأوprod.إذن الوصول اختَر متاحة للجميع. الموافقة تلقائيًا على طلبات الوصول فعِّل الموافقة التلقائية على طلبات المفاتيح الخاصة بمنتج واجهة برمجة التطبيقات هذا من أي تطبيق. الحصة تجاهُل هذا البرنامج التعليمي نطاقات OAuth المسموح بها تجاهُل هذا البرنامج التعليمي - في قسم "موارد واجهة برمجة التطبيقات"، اختَر خادم وكيل واجهة برمجة التطبيقات الذي أنشأته. مثلاً:
helloworld_apikey - انقر على إضافة.
- في قسم المسارات، أضِف المسار "/".
- انقر على إضافة.
- انقر على حفظ.
في الخطوات التالية، ستحصل على مفتاح واجهة برمجة التطبيقات المطلوب.
إضافة مطوّر وتطبيق إلى مؤسستك
بعد ذلك، سنحاكي سير عمل مطوّر يشترك لاستخدام واجهات برمجة التطبيقات. سيكون لدى المطوّر تطبيق واحد أو أكثر يستدعي واجهات برمجة التطبيقات، وسيحصل كل تطبيق على مفتاح فريد لواجهة برمجة التطبيقات. ويمنحك ذلك، بصفتك مقدّم واجهة برمجة التطبيقات، إمكانية تحكّم أكثر دقة في الوصول إلى واجهات برمجة التطبيقات وإعداد تقارير أكثر دقة حول عدد الزيارات إلى واجهة برمجة التطبيقات حسب التطبيق.
إنشاء مطوِّر
لإنشاء مطوِّر، اتّبِع الخطوات التالية:
- انقر على نشر > المطوّرون في القائمة.
- انقر على + مطوِّر.
أدخِل ما يلي في نافذة "مطوّر جديد":
في هذا الحقل enter الاسم Keyserاسم العائلة Sozeاسم المستخدم keyserالبريد الإلكتروني keyser@example.com- انقر على إنشاء.
تسجيل تطبيق
لتسجيل تطبيق مطوِّر، اتّبِع الخطوات التالية:
- انقر على نشر > التطبيقات.
- انقر على + تطبيق.
أدخِل ما يلي في نافذة تطبيق جديد:
pفي هذا الحقل اتّبِع الخطوات التالية الاسم والاسم المعروض أدخِل: keyser_appالشركة / المطوِّر اختَر: Developerالمطوِّر اختَر: Keyser Soze (keyser@example.com)عنوان URL لمعاودة الاتصال والملاحظات اترك الحقل فارغًا - في قسم بيانات الاعتماد، اختَر أبدًا من قائمة تاريخ انتهاء الصلاحية. لن تنتهي صلاحية بيانات اعتماد هذا التطبيق أبدًا.
- ضمن المنتجات، انقر على إضافة منتج.
- اختَر helloworld_apikey-Product.
- انقر على إضافة.
- انقر على إنشاء أعلى قسم تفاصيل التطبيق وعلى يساره لحفظ عملك.
الحصول على مفتاح واجهة برمجة التطبيقات
للحصول على مفتاح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
- في صفحة التطبيقات (نشر > التطبيقات)، انقر على keyser_app.
في صفحة keyser_app، انقر على عرض بجانب المفتاح في قسم بيانات الاعتماد. في قسم المنتج، لاحظ أنّ المفتاح مرتبط بـ helloworld_apikey
.
- اختَر المفتاح وانسَخه. ستستخدمه في الخطوة التالية.
استدعاء واجهة برمجة التطبيقات باستخدام مفتاح
بعد الحصول على مفتاح واجهة برمجة التطبيقات، يمكنك استخدامه لطلب بيانات من خادم وكيل لواجهة برمجة التطبيقات. أدخِل ما يلي في متصفّح الويب. استبدِل اسم مؤسستك على Edge بـ ORG_NAME، ومفتاح واجهة برمجة التطبيقات بـ API_KEY أدناه. تأكَّد من عدم وجود مسافات إضافية في مَعلمة طلب البحث.
http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY
عند طلب خادم وكيل لواجهة برمجة التطبيقات، من المفترض أن تتلقّى الردّ التالي:
Hello, Guest!
تهانينا! لقد أنشأت خادمًا وكيلاً لواجهة برمجة التطبيقات وحميته من خلال اشتراط تضمين مفتاح صالح لواجهة برمجة التطبيقات في الطلب.
يُرجى العِلم أنّه ليس من الممارسات الجيدة بشكل عام تمرير مفتاح واجهة برمجة التطبيقات كمعلَمة طلب بحث. ننصحك بتمريرها في عنوان HTTP بدلاً من ذلك.
أفضل الممارسات: تمرير المفتاح في عنوان HTTP
في هذه الخطوة، ستعدّل الخادم الوكيل للبحث عن مفتاح واجهة برمجة التطبيقات في عنوان يُسمى x-apikey.
- عدِّل خادم وكيل واجهة برمجة التطبيقات. اختَر تطوير > خوادم وكيلة لواجهة برمجة التطبيقات > helloworld_apikey، ثم انتقِل إلى طريقة العرض تطوير.
-
اختَر سياسة التحقّق من مفتاح واجهة برمجة التطبيقات، وعدِّل ملف XML الخاص بالسياسة لتوجيه السياسة إلى البحث في
headerبدلاً منqueryparam:<APIKey ref="request.header.x-apikey"/>
- احفظ خادم وكيل واجهة برمجة التطبيقات لتفعيل التغيير.
-
أرسِل طلب بيانات من واجهة برمجة التطبيقات التالي باستخدام cURL لتمرير مفتاح واجهة برمجة التطبيقات كعنوان
x-apikey. يُرجى عدم نسيان استبدال اسم مؤسستك.curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
يُرجى العِلم أنّه لإكمال عملية التغيير بالكامل، عليك أيضًا ضبط سياسة AssignMessage لإزالة العنوان بدلاً من مَعلمة طلب البحث. على سبيل المثال:
<Remove>
<Headers>
<Header name="x-apikey"/>
</Headers>
</Remove>
مواضيع ذات صلة
في ما يلي بعض المواضيع ذات الصلة المباشرة بهذا البرنامج التعليمي:
- إدارة منتجات واجهة برمجة التطبيقات
- مفاتيح واجهة برمجة التطبيقات
- تسجيل مطوّري التطبيقات
- تسجيل التطبيقات وإدارة مفاتيح واجهة برمجة التطبيقات
- سياسة VerifyAPIKey
- AssignMessage policy
بالتعمّق قليلاً، نجد أنّ حماية واجهات برمجة التطبيقات باستخدام مفاتيح واجهة برمجة التطبيقات ليست سوى جزء من القصة. في كثير من الأحيان، تتضمّن حماية واجهة برمجة التطبيقات إجراءات أمان إضافية، مثل OAuth.
OAuth هو بروتوكول مفتوح يتبادل بيانات الاعتماد (مثل اسم المستخدم وكلمة المرور) مقابل رموز الدخول. رموز الدخول هي سلاسل طويلة وعشوائية يمكن تمريرها عبر مسار رسائل، حتى من تطبيق إلى آخر، بدون تعريض بيانات الاعتماد الأصلية للخطر. تكون رموز الدخول قصيرة الأمد غالبًا، لذا يتم إنشاء رموز جديدة باستمرار.