يدعم Dotcom-Monitor مراقبة خدمات واجهة برمجة تطبيقات REST المضمونة بواسطة بروتوكول OAuth. في هذه المقالة ، سنوضح كيفية إعداد جهاز مراقبة للحالات التي يقوم فيها خادم المصادقة الهدف بإرجاع رمز الوصول من نوع Bearer .

بشكل عام، سيتضمن الإعداد الخطوات التالية:

  1. أرسل طلب رمز مميز إلى نقطة نهاية OAuth2 للحصول على رمز مميز لحامله (HTTP Post).
  2. استرداد الرمز المميز لحامله من استجابة الخادم.
  3. أرسل طلبا إلى نقطة نهاية واجهة برمجة التطبيقات باستخدام رمز الوصول المحفوظ.

لنفترض أن خدمة الويب الخاصة بك تقدم نوع منحة Сlient Сredentials عند استخدام بيانات اعتماد العميل بدلا من مالك المورد. لا يلزم وجود رمز تفويض في هذه الحالة لتقديم طلب رمز وصول مميز إلى خادم التفويض.

في الخطوة الأولى، لتحديد طلب الرمز المميز إلى خادم التخويل، قم بتوفير سمات نص الطلب التالية في حقل بيانات النشر :


  • client_id
    – معرف التطبيق الخاص بك ، الذي يتم إصداره عند التسجيل الأول لتطبيقك في خادم التفويض.

  • client_secret
    – يتم إصدارها عند التسجيل الأول لتطبيقك في خادم التفويض.

  • grant_type
    – يجب ضبطه على “client_credentials“.

يوصى أيضا بتحديد “access_tokenككلمة رئيسية في حقل التحقق من صحة المحتوى للتحقق من صحة الاستجابة من الخادم.

لاسترداد رمز الوصول من نتائج الطلب باستخدام البرنامج النصي المقدم في الخطوة التالية ، يرجى التأكد من تسمية طلب الرمز المميز باسم “AuthToken”. لتسمية الطلب، في حقل وصف عنوان URL، اكتب AuthToken.

 

بمجرد استلام استجابة الخادم باستخدام رمز الوصول المميز ، فإن الخطوة الثانية هي تكوين مهمة توفر واجهة برمجة التطبيقات.

إذا قام خادم المصادقة بإرجاع رمز الوصول المميز من نوع Bearer ، فيمكن استخدام البرنامج النصي التالي لاسترداد الرمز المميز في قسم إعداد البرنامج النصي :

string access_token;
string TokenAuthorization;

// get the authorization response from the first task
string json = (Tasks["AuthToken"] as Http).body["//*"];

//retrieve the access token from the response body
access_token = "";
if(json.IndexOf("access_token\"") != -1) access_token = json.Substring(json.IndexOf("access_token\"") + "access_token\"".Length);
if(json.IndexOf("\"") != -1) access_token = access_token.Substring(access_token.IndexOf("\"") + 1);
if(json.IndexOf("\"") != -1) access_token = access_token.Substring(0, access_token.IndexOf("\""));

//set the TokenAuthorization variable 
TokenAuthorization = "Bearer " + access_token;

يتم تحديد نوع الرمز المميز بشكل صريح في البرنامج النصي هنا.