تأمين واجهة برمجة تطبيقات باستخدام OAuth

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

المعلومات التي ستطّلع عليها

  • نزِّل نموذج خادم وكيل لواجهة برمجة التطبيقات وانشره.
  • إنشاء خادم وكيل لواجهة برمجة التطبيقات محمية ببروتوكول OAuth.
  • أنشئ منتجًا ومطوّرًا وتطبيقًا.
  • بيانات اعتماد Exchange لرمز الدخول عبر OAuth.
  • استدعِ واجهة برمجة تطبيقات باستخدام رمز دخول.

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

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

من خلال بروتوكول OAuth، يتم تبادل بيانات اعتماد الأمان (مثل اسم المستخدم/كلمة المرور أو المفتاح/المفتاح السرّي) برمز دخول. مثال:

joe:joes_password (username:password) أو
Nf2moHOASMJeUmXVdDhlMbPaXm2U7eMc:unUOXYpPe74ZfLEb (key:secret)

يصبح شيئًا مثل:

b0uiYwjRZLEo4lEu7ky2GGxHkanN

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

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

يتم تنفيذ نوع منح بيانات اعتماد العميل في Edge باستخدام السياسات في الخوادم الوكيلة لواجهة برمجة التطبيقات. ويشمل تدفق OAuth النموذجي خطوتَين:

  • اطلب الخادم الوكيل 1 لواجهة برمجة التطبيقات لإنشاء رمز دخول OAuth مميز من بيانات اعتماد العميل. وتعالج سياسة OAuth v2.0 على الخادم الوكيل لواجهة برمجة التطبيقات هذا الأمر.
  • الاتصال بالخادم الوكيل لواجهة برمجة التطبيقات 2 لإرسال رمز الدخول عبر OAuth في طلب بيانات من واجهة برمجة التطبيقات. يتحقّق الخادم الوكيل لواجهة برمجة التطبيقات من رمز الدخول باستخدام سياسة OAuth v2.0.

المتطلبات

  • حساب Apigee Edge. إذا لم يكن لديك حساب بعد، يمكنك الاشتراك باستخدام التوجيهات في إنشاء حساب Apigee Edge.
  • cURL على جهازك لإجراء طلبات بيانات من واجهة برمجة التطبيقات من سطر الأوامر.

تنزيل ونشر خادم وكيل لواجهة برمجة التطبيقات لإنشاء رمز مميّز

في هذه الخطوة، ستنشئ الخادم الوكيل لواجهة برمجة التطبيقات الذي ينشئ رمز دخول OAuth مميزًا من مفتاح العميل وسر العميل الذي يتم إرساله في طلب بيانات من واجهة برمجة التطبيقات. توفر Apigee نموذجًا للخادم الوكيل لواجهة برمجة التطبيقات لتنفيذ ذلك. وسيتم تنزيل الخادم الوكيل ونشره الآن، ثم استخدامه لاحقًا في البرنامج التعليمي. (يمكنك إنشاء الخادم الوكيل لواجهة برمجة التطبيقات هذا بسهولة بنفسك. تهدف خطوة التنزيل والنشر هذه إلى توفير الراحة ولتوضيح مدى سهولة مشاركة الخوادم الوكيلة التي سبق إنشاؤها.)

  1. يمكنك تنزيل ملف ZIP الذي يخصّ "نموذج وكيل واجهة برمجة التطبيقات"إلى أي دليل على نظام الملفات.
  2. انتقِل إلى https://apigee.com/edge وسجِّل الدخول.
  3. حدّد التطوير > الخوادم الوكيلة لواجهة برمجة التطبيقات في شريط التنقل الأيمن.
  4. انقر على + خادم وكيل.
    زر إنشاء خادم وكيل
  5. في معالج إنشاء خادم وكيل، انقر على تحميل حزمة الخادم الوكيل.
  6. اختَر ملف oauth.zip الذي نزّلته، وانقر على التالي.
  7. انقر على إنشاء.
  8. بعد اكتمال الإصدار، انقر على تعديل الخادم الوكيل لعرض الخادم الوكيل الجديد في أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات.
  9. في صفحة "نظرة عامة على محرِّر الخادم الوكيل لواجهة برمجة التطبيقات"، انقر على القائمة المنسدلة النشر واختَر اختبار. هذه هي بيئة الاختبار في مؤسستك.

    في رسالة التأكيد، انقر على نشر.
    عند النقر على القائمة المنسدلة "النشر" مرّة أخرى، يشير الرمز الأخضر إلى أنّه تمّ نشر الخادم الوكيل في بيئة الاختبار.

أحسنت. لقد تم تنزيل ونشر خادم وكيل لواجهة برمجة التطبيقات لإنشاء رمز الدخول في مؤسسة Edge الخاصة بك بنجاح.

عرض مسار وسياسة OAuth

لنلقِ نظرة أقرب على ما يحتويه الخادم الوكيل لواجهة برمجة التطبيقات.

  1. في محرر الخادم الوكيل لواجهة برمجة التطبيقات، انقر على علامة التبويب تطوير. في لوحة المستكشف على يمين الصفحة، ستظهر لك سياستان. سيظهر لك أيضًا مسارَان POST في القسم Proxy Endpoints.
  2. انقر على AccessTokenClientCredential ضمن Proxy Endpoints.

    في عرض رمز XML، سيظهر لك Flow باسم AccessTokenClientCredential:

    <Flow name="AccessTokenClientCredential">
        <Description/>
        <Request>
            <Step>
                <Name>GenerateAccessTokenClient</Name>
            </Step>
        </Request>
        <Response/>
        <Condition>(proxy.pathsuffix MatchesPath "/accesstoken") and (request.verb = "POST")</Condition>
    </Flow>
    

    التدفق هو خطوة معالجة في خادم وكيل لواجهة برمجة التطبيقات. في هذه الحالة، يبدأ التدفق عند استيفاء شرط معيّن (يسمى ذلك التدفق الشرطي). ينص الشرط المحدّد في العنصر <Condition> على أنّه إذا تم إجراء طلب خادم وكيل واجهة برمجة التطبيقات لمورد /accesstoken وكان فعل الطلب هو POST، يجب تنفيذ سياسة GenerateAccessTokenClient التي تنشئ رمز الدخول.

  3. لنلقِ نظرة الآن على السياسة التي سيشغّلها التدفق الشرطي. انقر على رمز السياسة GenerateAccessTokenClient في الرسم البياني للتدفق.

    يتم تحميل إعدادات XML التالية في عرض الرمز:

    <OAuthV2 name="GenerateAccessTokenClient">
        <!-- This policy generates an OAuth 2.0 access token using the client_credentials grant type -->
        <Operation>GenerateAccessToken</Operation>
        <!-- This is in millseconds, so expire in an hour -->
        <ExpiresIn>3600000</ExpiresIn>
        <SupportedGrantTypes>
            <!-- This part is very important: most real OAuth 2.0 apps will want to use other
             grant types. In this case it is important to NOT include the "client_credentials"
             type because it allows a client to get access to a token with no user authentication -->
            <GrantType>client_credentials</GrantType>
        </SupportedGrantTypes>
        <GrantType>request.queryparam.grant_type</GrantType>
        <GenerateResponse/>
    </OAuthV2>
    

    وتتضمن عملية الضبط ما يلي:

    • إنّ السمة <Operation> التي يمكن أن تكون واحدة من عدة قيم محدّدة مسبقًا، تحدّد ما ستفعله السياسة. في هذه الحالة، ستنشئ رمز دخول.
    • ستنتهي صلاحية الرمز المميز بعد ساعة واحدة (3600000 ملي ثانية) بعد إنشائه.
    • في <SupportedGrantTypes>، من المتوقّع أن يتم استخدام <GrantType> في OAuth client_credentials (بتبادل مفتاح وسر العميل برمز OAuth المميز).
    • يحدّد العنصر <GrantType> الثاني السياسة التي يجب البحث فيها عند طلب البيانات من واجهة برمجة التطبيقات لمَعلمة نوع المنحة، حسبما تقتضي مواصفات OAuth 2.0. (سترى هذا في طلب بيانات من واجهة برمجة التطبيقات لاحقًا). قد يتم إرسال نوع المنحة أيضًا في عنوان HTTP (request.header.grant_type) أو كمَعلمة نموذج (request.formparam.grant_type).

ليس عليك اتخاذ أي إجراء آخر باستخدام الخادم الوكيل لواجهة برمجة التطبيقات في الوقت الحالي. في الخطوات اللاحقة، ستستخدم الخادم الوكيل لواجهة برمجة التطبيقات هذا لإنشاء رمز دخول OAuth. أولاً، عليك تنفيذ بعض الإجراءات الإضافية:

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

إنشاء خادم وكيل لواجهة برمجة التطبيقات المحمية ببروتوكول OAuth

لمحة عن الاستهداف الوهمي

تتم استضافة خدمة mocktarget في Apigee، وتعرض بيانات بسيطة. في الواقع، يمكنك الوصول إلى هذه الأداة في متصفح ويب. جربه بالنقر على ما يلي:

http://mocktarget.apigee.net/ip

ويعرض الهدف ما تراه عند استدعاء الخادم الوكيل لواجهة برمجة التطبيقات هذا في النهاية.

يمكنك أيضًا النقر على http://mocktarget.apigee.net/help للاطّلاع على موارد واجهة برمجة التطبيقات الأخرى المتوفّرة في الاستهداف التجريبي.

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

سيتضمّن الخادم الوكيل لواجهة برمجة التطبيقات الذي تنشئه هنا سياسة تتحقق من وجود رمز OAuth مميز في الطلب.

  1. حدّد التطوير > الخوادم الوكيلة لواجهة برمجة التطبيقات في شريط التنقل الأيمن.
  2. انقر على + خادم وكيل.
    زر إنشاء خادم وكيل
  3. في معالج إنشاء خادم وكيل، اختَر الخادم الوكيل العكسي (الأكثر شيوعًا)، وانقر على التالي.
  4. اضبط الخادم الوكيل من خلال ما يلي:
    في هذا الحقل افعل هذا
    اسم الخادم الوكيل إدخال: helloworld_oauth2
    المسار الأساسي للمشروع

    تغيير إلى: /hellooauth2

    يشكّل "مسار المشروع الأساسي" جزءًا من عنوان URL المستخدَم لإرسال طلبات إلى الخادم الوكيل لواجهة برمجة التطبيقات.

    واجهة برمجة التطبيقات الحالية

    إدخال: https://mocktarget.apigee.net/ip

    يحدِّد هذا عنوان URL المستهدف الذي يستدعيه Apigee Edge عند طلب الخادم الوكيل لواجهة برمجة التطبيقات.

    الوصف إدخال: hello world protected by OAuth
  5. انقر على التالي.
  6. في صفحة السياسات الشائعة:
    في هذا الحقل افعل هذا
    الأمان: التفويض اختَر: OAuth 2.0.
  7. انقر على التالي.
  8. في صفحة المضيفين الافتراضيين، انقر على التالي.
  9. في صفحة الإصدار، تأكَّد من اختيار بيئة الاختبار، ثم انقر على إنشاء ونشر.
  10. في صفحة الملخّص، يظهر لك إقرار بأنّه تم إنشاء الخادم الوكيل الجديد لواجهة برمجة التطبيقات بنجاح وأنّه تم تفعيل الخادم الوكيل لواجهة برمجة التطبيقات في بيئة الاختبار.
  11. انقر على تعديل الخادم الوكيل لعرض صفحة نظرة عامة للخادم الوكيل لواجهة برمجة التطبيقات.
    يُرجى ملاحظة أنّه يتم تفعيل الخادم الوكيل لواجهة برمجة التطبيقات تلقائيًا هذه المرة. انقر على القائمة المنسدلة "النشر" للتأكّد من وجود نقطة نشر خضراء بجانب بيئة "الاختبار".

الاطّلاع على السياسات

لنلقِ نظرة عن كثبٍ على ما أنشأته.

  1. في محرر الخادم الوكيل لواجهة برمجة التطبيقات، انقر على علامة التبويب تطوير. ستلاحظ أنه تمت إضافة سياستين إلى مسار الطلب للخادم الوكيل لواجهة برمجة التطبيقات:
    • التحقّق من رمز الدخول إلى الإصدار 2.0 من OAuth: يتحقّق من طلب البيانات من واجهة برمجة التطبيقات للتأكّد من توفّر رمز OAuth مميّز صالح.
    • إزالة تفويض العنوان: سياسة AssignMessage تزيل رمز الدخول بعد أن يتم وضع علامة فيه حتى لا يتم تمريره إلى الخدمة الهدف. (إذا كانت الخدمة المستهدفة تحتاج إلى رمز الدخول عبر OAuth، لن تستخدم هذه السياسة).
  2. انقر على رمز التحقّق من رمز الدخول إلى الإصدار 2.0 من OAuth في عرض التدفق واطّلِع على ملف XML أسفله في جزء الرمز.

    <OAuthV2 async="false" continueOnError="false" enabled="true" name="verify-oauth-v2-access-token">
        <DisplayName>Verify OAuth v2.0 Access Token</DisplayName>
        <Operation>VerifyAccessToken</Operation>
    </OAuthV2>
    

    يُرجى العلم أنّ السمة <Operation> هي VerifyAccessToken. وتحدّد العملية الإجراء الذي من المفترض أن تنفِّذه السياسة. وفي هذه الحالة، ستتحقق من وجود رمز OAuth مميّز صالح في الطلب.

إضافة منتج لواجهة برمجة التطبيقات

لإضافة منتج واجهة برمجة التطبيقات باستخدام واجهة مستخدم Apigee:

  1. اختَر النشر > منتجات واجهة برمجة التطبيقات.
  2. انقر على +منتج واجهة برمجة التطبيقات.
  3. أدخِل تفاصيل المنتج للمنتج في واجهة برمجة التطبيقات.
    الحقل الوصف
    الاسم الاسم الداخلي لمنتج واجهة برمجة التطبيقات. لا تحدّد أحرفًا خاصة في الاسم.
    ملاحظة: لا يمكنك تعديل الاسم بعد إنشاء المنتج من واجهة برمجة التطبيقات. مثلاً: helloworld_oauth2-Product
    الاسم المعروض الاسم المعروض لمنتج واجهة برمجة التطبيقات يُستخدم الاسم المعروض في واجهة المستخدم ويمكنك تعديله في أي وقت. إذا لم يتم تحديد ذلك، سيتم استخدام قيمة "الاسم". يتم ملء هذا الحقل تلقائيًا باستخدام قيمة "الاسم"، ويمكنك تعديل محتواه أو حذفه. ويمكن أن يتضمّن الاسم المعروض رموزًا خاصة. مثلاً: helloworld_oauth2-Product
    الوصف وصف منتج واجهة برمجة التطبيقات.
    البيئة البيئات التي سيسمح منتج واجهة برمجة التطبيقات بها بالوصول إليها. اختَر البيئة التي نشرت فيها الخادم الوكيل لواجهة برمجة التطبيقات. مثلاً: test
    إذن الوصول اختَر علني.
    الموافقة تلقائيًا على طلبات الوصول يمكنك تفعيل الموافقة التلقائية على الطلبات الرئيسية لمنتج واجهة برمجة التطبيقات هذا من أي تطبيق.
    الحصة تجاهل هذا الدليل التوجيهي.
    نطاقات OAuth المسموح بها تجاهل هذا الدليل التوجيهي.
  4. في حقل الخوادم الوكيلة لواجهة برمجة التطبيقات، اختَر الخادم الوكيل لواجهة برمجة التطبيقات الذي أنشأته للتو.
  5. في حقل المسار، أدخِل "/" وتجاهل الحقول الأخرى.
  6. انقر على حفظ.

إضافة مطوّر وتطبيق إلى مؤسستك

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

سيكون لدى مطوّر البرامج تطبيق واحد أو أكثر يتصل بواجهات برمجة التطبيقات، ويحصل كل تطبيق على مفتاح عميل وسر عميل فريدَين. يمنحك هذا المفتاح/السر لكل تطبيق أيضًا، لمقدم واجهة برمجة التطبيقات، إمكانية تحكم أكثر دقة في الوصول إلى واجهات برمجة التطبيقات، وتقارير إحصاءات أكثر دقة عن زيارات واجهة برمجة التطبيقات، لأن Edge يعرف المطور والتطبيق الذي ينتمي إليه رمز OAuth المميز.

إنشاء مطور

لننشئ مطوِّرًا يُدعى Nigel Tufnel.

  1. اختَر نشر > المطوّرون في القائمة.
  2. انقر على + مطوّر برامج.
  3. أدخِل ما يلي في نافذة مطوّر البرامج الجديد:
    في هذا الحقل إدخال
    الاسم Nigel
    اسم العائلة Tufnel
    اسم المستخدم nigel
    البريد الإلكتروني nigel@example.com
  4. انقر على إنشاء.

تسجيل تطبيق

لنقم بإنشاء تطبيق لنيجل.

  1. اختَر نشر > التطبيقات.
  2. انقر على + تطبيق.
  3. أدخِل ما يلي في نافذة تطبيق جديد:
    في هذا الحقل افعل هذا
    الاسم والاسم المعروض إدخال: nigel_app
    مطوّر البرامج انقر على مطوّر البرامج واختَر: Nigel Tufnel (nigel@example.com)
    عنوان URL لمعاودة الاتصال والملاحظات اتركه فارغًا
  4. ضمن المنتجات، انقر على إضافة منتج.
  5. اختَر helloworld_oauth2-Product.
  6. انقر على إنشاء.

الحصول على مفتاح وسر العميل

ستحصل الآن على مفتاح العميل وسر العميل اللذين سيتم استبدالهما برمز الدخول عبر OAuth.

  1. تأكد من عرض صفحة nigel_app. وإذا لم يكن الأمر كذلك، انقر على nigel_app في صفحة "التطبيقات" (نشر > التطبيقات).
  2. في صفحة nigel_app، انقر على عرض في عمودَي المفتاح والسري. لاحِظ أنّ المفتاح/المفتاح السرّي مرتبطَين بـ "helloworld_oauth2-Product" الذي تم إنشاؤه تلقائيًا سابقًا.

  3. اختَر "المفتاح والسر" وانسخهما. الصِقها في ملف نصي مؤقت. ستستخدمها في خطوة لاحقة، حيث يتم الاتصال بالخادم الوكيل لواجهة برمجة التطبيقات الذي سيتبادل بيانات الاعتماد هذه مع رمز دخول OAuth.

يمكنك محاولة طلب البيانات من واجهة برمجة التطبيقات للحصول على عنوان IP الخاص بجهازك. (تعذّر الإجراء).

يُرجى محاولة استدعاء الخادم الوكيل المحمي لواجهة برمجة التطبيقات الذي من المفترض أن يعرض عنوان IP الخاص بجهازك. نفِّذ أمر cURL التالي في نافذة طرفية، مع استبدال اسم مؤسسة Edge. الكلمة test في عنوان URL هي بيئة الاختبار في مؤسستك، وهي البيئة التي تم إرسال الخوادم الوكيلة إليها. المسار الأساسي للخادم الوكيل هو /hellooauth2، وهو المسار الأساسي نفسه الذي حدّدته عند إنشاء الخادم الوكيل. يُرجى العلم أنّك لا تمرّر رمز دخول OAuth في المكالمة.

curl https://ORG_NAME-test.apigee.net/hellooauth2

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

{"fault":{"faultstring":"Invalid access token","detail":{"errorcode":"oauth.v2.InvalidAccessToken"}}}

في هذه الحالة، الفشل أمر جيد! وهذا يعني أن الخادم الوكيل لواجهة برمجة التطبيقات أكثر أمانًا بكثير. لا يمكن طلب واجهة برمجة التطبيقات هذه بنجاح إلا للتطبيقات الموثوق بها التي لديها رمز دخول OAuth صالح.

الحصول على رمز دخول OAuth

الآن نصل إلى المحصلة الكبيرة. أنت على وشك استخدام المفتاح والسر اللذان نسختهما ولصقتهما في ملف نصي واستبدِلهما برمز دخول OAuth. سيُطلب منك الآن طلب بيانات من واجهة برمجة التطبيقات لنموذج الخادم الوكيل لواجهة برمجة التطبيقات الذي استوردته، oauth، ما سيؤدي إلى إنشاء رمز دخول لواجهة برمجة التطبيقات.

باستخدام هذا المفتاح والسر، يمكنك إجراء طلب cURL التالي (تجدر الإشارة إلى أنّ البروتوكول هو https)، واستبدال اسم مؤسسة Edge والمفتاح والسر الخاص بك حيثما تتم الإشارة إليه:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
"https://ORG_NAME-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials" \
-d "client_id=CLIENT_KEY&client_secret=CLIENT_SECRET"

تجدر الإشارة إلى أنّك إذا كنت تستعين بحساب عميل مثل Postman لإجراء المكالمة، سيظهر الرمز client_id وclient_secret في نص الطلب ويجب أن يكونا x-www-form-urlencoded.

من المفترض أن تتلقى ردًا على النحو التالي:

{
  "issued_at" : "1466025769306",
  "application_name" : "716bbe61-f14a-4d85-9b56-a62ff8e0d347",
  "scope" : "",
  "status" : "approved",
  "api_product_list" : "[helloworld_oauth2-Product]",
  "expires_in" : "3599", //--in seconds
  "developer.email" : "nigel@example.com",
  "token_type" : "BearerToken",
  "client_id" : "xNnREu1DNGfiwzQZ5HUN8IAUwZSW1GZW",
  "access_token" : "GTPY9VUHCqKVMRB0cHxnmAp0RXc0",
  "organization_name" : "myOrg",
  "refresh_token_expires_in" : "0", //--in seconds
  "refresh_count" : "0"
}

لقد حصلت على رمز الدخول عبر OAuth. انسخ قيمة access_token (بدون علامات الاقتباس) والصقها في ملفك النصي. ستستخدمه بعد قليل.

ما الذي حدث للتو؟

هل تذكر سابقًا عندما كنت تطّلع على التدفق الشرطي في الخادم الوكيل oauth الذي ذكر ما إذا كان معرّف الموارد المنتظم (URI) للمورد هو /accesstoken وفعل الطلب هو POST، هل المطلوب تنفيذ سياسة OAuth GenerateAccessTokenClient التي تنشئ رمز دخول؟ استوفى أمر cURL تلك الشروط، لذا تم تنفيذ سياسة OAuth. لقد تحقّقت الخدمة من مفتاح العميل وسر العميل الخاص بك واستبدلتهما برمز OAuth المميّز الذي تنتهي صلاحيته خلال ساعة واحدة.

يمكنك استدعاء واجهة برمجة التطبيقات باستخدام رمز الدخول (تم بنجاح!)

الآن وبعد أن أصبح لديك رمز دخول، يمكنك استخدامه لطلب الخادم الوكيل لواجهة برمجة التطبيقات. يمكنك إجراء طلب cURL التالي. استبدِل اسم مؤسسة Edge ورمز الدخول.

curl https://ORG_NAME-test.apigee.net/hellooauth2 -H "Authorization: Bearer TOKEN"

من المفترض أن تتلقّى الآن اتصالاً ناجحًا بخادم وكيل واجهة برمجة التطبيقات الذي يعرض عنوان IP الخاص بجهازك. على سبيل المثال:

{"ip":"::ffff:192.168.14.136"}

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

تهانينا! لقد أنشأت خادمًا وكيلاً لواجهة برمجة التطبيقات وقمت بحمايته من خلال طلب تضمين رمز دخول OAuth صالح في الاستدعاء.

مواضيع ذات صلة