سياسة VerificationAPIKey

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

الموضوع

تتيح لك سياسة "التحقق من مفتاح واجهة برمجة التطبيقات" فرض التحقّق من مفاتيح واجهة برمجة التطبيقات في وقت التشغيل، ما يسمح فقط للتطبيقات التي لديها مفاتيح واجهة برمجة التطبيقات الموافَق عليها بالوصول إلى واجهات برمجة التطبيقات. تضمن هذه السياسة أن تكون مفاتيح واجهة برمجة التطبيقات صالحة ومن عدم إبطالها وتمت الموافقة عليها لاستهلاك الموارد المحدّدة المرتبطة بمنتجاتك المرتبطة بواجهة برمجة التطبيقات.

عيّنات

مفتاح في معلمة طلب البحث

<VerifyAPIKey name="APIKeyVerifier">
    <APIKey ref="request.queryparam.apikey" />
</VerifyAPIKey>

في هذا المثال، تتوقّع السياسة العثور على مفتاح واجهة برمجة التطبيقات في متغيّر مسار يُسمى request.queryparam.apikey. المتغيّر request.queryparam.{name} هو متغيّر تدفق Edge عادي تتم تعبئته بقيمة مَعلمة طلب البحث التي تم تمريرها في طلب العميل.

يمرر الأمر curl التالي مفتاح واجهة برمجة التطبيقات في معلمة طلب البحث:

curl http://myorg-test.apigee.net/mocktarget?apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

مفتاح في العنوان

<VerifyAPIKey name="APIKeyVerifier">
    <APIKey ref="request.header.x-apikey" />
</VerifyAPIKey>

في هذا المثال، تتوقّع السياسة العثور على مفتاح واجهة برمجة التطبيقات في متغيّر مسار يُسمى request.header.x-apikey. المتغيّر request.header.{name} هو متغيّر تدفق عادي عادي من Edge تتم تعبئته بقيمة العنوان التي تم تمريرها في طلب العميل.

يوضّح cURL التالي كيفية تمرير مفتاح واجهة برمجة التطبيقات في أحد العناوين:

curl "http://myorg-test.apigee.net/mocktarget" -H "x-apikey:IEYRtW2cb7A5Gs54A1wKElECBL65GVls"

مفتاح المتغير

<VerifyAPIKey name="APIKeyVerifier">
    <APIKey ref="requestAPIKey.key"/>
</VerifyAPIKey>

يمكن أن تشير السياسة إلى أي متغيّر يحتوي على المفتاح. تستخلص السياسة في هذا المثال مفتاح واجهة برمجة التطبيقات من متغيّر باسم requestAPIKey.key.

الأمر متروك لك في كيفية تعبئة هذا المتغير. على سبيل المثال، يمكنك استخدام سياسة استخراج المتغيّرات لتعبئة requestAPIKey.key من مَعلمة طلب بحث باسم myKey، كما هو موضّح أدناه:

<ExtractVariables async="false" continueOnError="false" enabled="true" name="SetAPIKeyVar">
    <Source>request</Source>
    <QueryParam name="myKey">
        <Pattern ignoreCase="true">{key}</Pattern>
    </QueryParam>
    <VariablePrefix>requestAPIKey</VariablePrefix>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>

متغيّرات تدفق سياسة الوصول

<AssignMessage async="false" continueOnError="false" enabled="true" name="accessverifyvars">
    <AssignVariable>
        <Name>devFirstName</Name>
        <Ref>verifyapikey.verify-api-key.developer.firstName</Ref>
        <Value>ErrorOnCopy</Value>
    </AssignVariable>
    <AssignVariable>
        <Name>devLastName</Name>
        <Ref>verifyapikey.verify-api-key.developer.lastName</Ref>
        <Value>ErrorOnCopy</Value>
    </AssignVariable>
    <AssignVariable>
        <Name>devEmail</Name>
        <Ref>verifyapikey.verify-api-key.developer.email</Ref>
        <Value>ErrorOnCopy</Value>
    </AssignVariable>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

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

تكون جميع هذه المتغيّرات مسبوقة بـ:

verifyapikey.{policy_name}

في هذا المثال، يكون اسم سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" هو "verify-api-key". لذلك، تشير إلى الاسم الأول للمطوّر الذي قدّم الطلب من خلال الوصول إلى المتغيّر verifyapikey.verify-api-key.developer.firstName..

تعلُّم Edge


لمحة عن سياسة التحقّق من مفتاح واجهة برمجة التطبيقات

عندما يسجّل مطوّر البرامج تطبيقًا على Edge، ينشئ Edge تلقائيًا مفتاح العميل وزوجًا سريًا. يمكنك عرض مفتاح العميل والمفتاح السري الخاص بالتطبيق في واجهة مستخدم Edge أو الوصول إليهما من خلال Edge API.

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

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

يملأ Edge مجموعة من متغيّرات التدفق تلقائيًا عند تنفيذ سياسة التحقّق من مفتاح واجهة برمجة التطبيقات. راجِع متغيّرات التدفق أدناه للاطّلاع على مزيد من المعلومات.

مرجع العنصر

في ما يلي العناصر والسمات التي يمكنك ضبطها في هذه السياسة:

<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1">
    <DisplayName>Custom label used in UI</DisplayName>
    <APIKey ref="variable_containing_api_key"/>
</VerifyAPIKey>

سمات <CheckAPIKey>

يعرض المثال التالي السمات في العلامة <VerifyAPIKey>:

<VerifyAPIKey async="false" continueOnError="false" enabled="true" name="Verify-API-Key-1">

يوضِّح الجدول التالي السمات الشائعة لجميع العناصر الرئيسية للسياسة:

السمة الوصف تلقائي التواجد في المنزل
name

الاسم الداخلي للسياسة وقد تحتوي قيمة السمة name على أحرف وأرقام ومسافات وواصلات وشرطات سفلية ونقاط. لا يمكن أن تتجاوز هذه القيمة 255 حرفًا.

ويمكنك اختياريًا استخدام العنصر <DisplayName> لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف للغة طبيعية.

لا ينطبق مطلوبة
continueOnError

اضبط القيمة على false لعرض رسالة خطأ عند تعذُّر تنفيذ السياسة. وهو سلوك متوقّع لمعظم السياسات.

اضبط القيمة على true لمواصلة تنفيذ التدفق حتى بعد تعذُّر تنفيذ السياسة.

false إجراء اختياري
enabled

اضبط القيمة على true لفرض السياسة.

اضبط القيمة على false من أجل إيقاف السياسة. ولن يتم فرض السياسة حتى إذا ظلت مرتبطة بمسار.

صحيح إجراء اختياري
async

تم إيقاف هذه السمة نهائيًا.

false منهي العمل به

العنصر <DisplayName>

استخدِم هذه السمة بالإضافة إلى السمة name لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف بلغة طبيعية.

<DisplayName>Policy Display Name</DisplayName>
تلقائي

لا ينطبق

إذا لم تستخدم هذا العنصر، سيتم استخدام قيمة السمة name الخاصة بالسياسة.

التواجد في المنزل إجراء اختياري
Type سلسلة

عنصر <APIKey>

يحدد هذا العنصر متغير التدفق الذي يحتوي على مفتاح واجهة برمجة التطبيقات. ويرسل العميل عادةً مفتاح واجهة برمجة التطبيقات في مَعلمة طلب بحث أو عنوان HTTP أو مَعلمة نموذج. على سبيل المثال، إذا تم إرسال المفتاح في عنوان اسمه x-apikey، سيتم العثور على المفتاح في المتغيّر: request.header.x-apikey.

تلقائي لا ينطبق
التواجد في المنزل مطلوبة
Type سلسلة

السمات

يوضّح الجدول التالي سمات العنصر <APIKey>.

السمة الوصف تلقائي التواجد في المنزل
المرجع

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

لا ينطبق مطلوبة

أمثلة

في هذه الأمثلة، يتم تمرير المفتاح في المَعلمات مع عنوان يسمى x-apikey.

كمعلمة طلب بحث:

<VerifyAPIKey name="APIKeyVerifier">
    <APIKey ref="request.queryparam.x-apikey"/>
</VerifyAPIKey>

كعنوان HTTP:

<VerifyAPIKey name="APIKeyVerifier">
    <APIKey ref="request.header.x-apikey"/>
</VerifyAPIKey>

كمعلمة نموذج HTTP:

<VerifyAPIKey name="APIKeyVerifier">
    <APIKey ref="request.formparam.x-apikey"/>
</VerifyAPIKey>

المخططات

متغيرات التدفق

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

تعمل السياسة على تعبئة أنواع مختلفة من متغيّرات التدفق، بما في ذلك:

  • أسئلة عامة
  • تطبيق
  • المطوّر
  • الشركة
  • الإحصاءات

يحتوي كل نوع من متغيّرات التدفق على بادئة مختلفة. وجميع المتغيرات هي قيم عددية باستثناء تلك التي تتم الإشارة إليها على وجه التحديد باعتبارها مصفوفات.

متغيرات التدفق العامة

يسرد الجدول التالي متغيرات التدفق العامة التي تتم تعبئتها بواسطة سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات". تكون جميع هذه المتغيّرات مسبوقة بـ:

verifyapikey.{policy_name}

مثال: verifyapikey.{policy_name}.client_id

وتشمل المتغيّرات المتاحة ما يلي:

متغير الوصف
client_id مفتاح المستهلك (يُعرف أيضًا بمفتاح واجهة برمجة التطبيقات أو مفتاح التطبيق) الذي يقدّمه التطبيق الذي يطلبه.
client_secret سر العميل المرتبط بمفتاح المستهلك.
redirection_uris أي معرفات موارد منتظمة (URI) لإعادة التوجيه في الطلب
developer.app.id

رقم تعريف تطبيق المطوّر الذي أرسل الطلب.

developer.app.name اسم التطبيق الخاص بمطوّر البرامج الذي يرسل الطلب.
developer.id

رقم تعريف المطوّر المسجَّل كمالك للتطبيق المعنيّ.

developer.{custom_attrib_name} أيّ سمات مخصّصة مشتقة من الملف الشخصي لمفتاح التطبيق.
DisplayName قيمة السمة <DisplayName> الخاصة بالسياسة.
failed اضبط القيمة على "true" عند تعذّر التحقق من مفتاح واجهة برمجة التطبيقات.
{custom_app_attrib} أي سمة مخصّصة مشتقة من الملف الشخصي للتطبيق. حدِّد اسم السمة المخصّصة.
apiproduct.name* اسم منتج واجهة برمجة التطبيقات المستخدَم للتحقّق من صحة الطلب.
apiproduct.{custom_attrib_name}* أي سمة مخصّصة مشتقة من الملف الشخصي للمنتج في واجهة برمجة التطبيقات.
apiproduct.developer.quota.limit* حدّ الحصة المسموح بها لمنتج واجهة برمجة التطبيقات، في حال توفّره.
apiproduct.developer.quota.interval* الفاصل الزمني للحصة المحدّدة على منتج واجهة برمجة التطبيقات، إن وجد.
apiproduct.developer.quota.timeunit* وحدة وقت الحصة التي تم ضبطها على منتج واجهة برمجة التطبيقات، إن توفّرت.
* تتم تعبئة متغيرات منتجات واجهة برمجة التطبيقات تلقائيًا إذا تم إعداد منتجات واجهة برمجة التطبيقات باستخدام بيئة وخوادم وكيلة وموارد صالحة (مشتقة من proxy.pathsuffix). للحصول على تعليمات حول إعداد منتجات واجهة برمجة التطبيقات، يُرجى الاطّلاع على استخدام واجهة برمجة تطبيقات إدارة Edge لنشر واجهات برمجة التطبيقات.

متغيّرات تدفق التطبيق

تعمل السياسة على تعبئة متغيّرات التدفق التالية التي تحتوي على معلومات عن التطبيق. تكون جميع هذه المتغيّرات مسبوقة بـ:

verifyapikey.{policy_name}.app.

مثال:

verifyapikey.{policy_name}.app.name

وتشمل المتغيّرات المتاحة ما يلي:

متغير الوصف
name اسم التطبيق
id رقم تعريف التطبيق.
accessType غير مستخدَم من قِبل Apigee.
callbackUrl عنوان URL لرد الاتصال من التطبيق. يُستخدم عادةً مع OAuth فقط.
DisplayName الاسم المعروض للتطبيق
status حالة التطبيق، مثل "موافَق عليه" أو "تم إبطاله".
apiproducts مصفوفة تحتوي على قائمة بمنتجات واجهة برمجة التطبيقات المرتبطة بالتطبيق.
appFamily أي مجموعة تطبيقات تحتوي على التطبيق، أو "تلقائية"
appParentStatus حالة التطبيق الرئيسي، مثل "نشط" أو "غير نشط"
appType نوع التطبيق، إما "شركة" أو "مطوّر برامج".
appParentId رقم تعريف التطبيق الرئيسي.
created_at طابع الوقت أو التاريخ الذي تم فيه إنشاء التطبيق.
created_by عنوان البريد الإلكتروني للمطوّر الذي أنشأ التطبيق
last_modified_at طابع الوقت أو التاريخ الذي تم فيه تحديث التطبيق آخر مرة.
last_modified_by عنوان البريد الإلكتروني للمطوّر الذي حدّث التطبيق آخر مرة.
{app_custom_attributes} أي سمة مخصصة للتطبيق. حدِّد اسم السمة المخصّصة.

متغيرات مسار المطوِّر

تتم تعبئة متغيّرات التدفق التالية التي تحتوي على معلومات عن مطوّر البرامج بموجب السياسة. تكون جميع هذه المتغيّرات مسبوقة بـ:

verifyapikey.{policy_name}.developer

مثال:

verifyapikey.{policy_name}.developer.id

وتشمل المتغيّرات المتاحة ما يلي:

متغير الوصف
id عرض {org_name}@@@{developer_id}
userName اسم المستخدِم للمطوّر
firstName الاسم الأول للمطوّر
lastName الاسم الأخير للمطوّر
email عنوان البريد الإلكتروني لمطوِّر البرامج
status حالة المطوِّر، مثل "نشط" أو "غير نشط" أو "login_lock".
apps مصفوفة من التطبيقات المرتبطة بمطوّر البرامج.
created_at طابع الوقت أو التاريخ الذي تم فيه إنشاء المطوِّر.
created_by عنوان البريد الإلكتروني للمستخدم الذي أنشأ المطوِّر.
last_modified_at طابع الوقت أو التاريخ الذي تم فيه إجراء آخر تعديل للمطوّر.
last_modified_by عنوان البريد الإلكتروني للمستخدم الذي عدَّل المطوّر.
{developer_custom_attributes} أي سمة مخصَّصة للمطوِّر. حدِّد اسم السمة المخصّصة.
Company اسم الشركة، إن وُجِدت، المرتبطة بالمطوّر.

متغيرات تدفق الشركة

تعمل السياسة على تعبئة متغيّرات التدفق التالية التي تحتوي على معلومات عن الشركة. تكون جميع هذه المتغيّرات مسبوقة بـ:

verifyapikey.{policy_name}.company

مثال:

verifyapikey.{policy_name}.company.name

وتشمل المتغيّرات المتاحة ما يلي:

متغير الوصف
name اسم الشركة.
displayName تمثّل هذه السمة الاسم المعروض للشركة.
id

رقم تعريف الشركة.

apps مصفوفة تتضمّن قائمة تطبيقات الشركة.
appOwnerStatus
حالة مالك التطبيق، سواء نشط أو غير نشط أو log_lock.
created_at طابع التاريخ/الوقت الذي تم فيه إنشاء الشركة.
created_by عنوان البريد الإلكتروني للمستخدم الذي أنشأ الشركة.
last_modified_at طابع التاريخ/الوقت الذي تم فيه إجراء آخر تعديل للشركة.
last_modified_by عنوان البريد الإلكتروني للمستخدم الذي عدّل الشركة آخر مرة.
{company_custom_attributes} أيّ سمة مخصّصة للشركة حدِّد اسم السمة المخصّصة.

متغيرات "إحصاءات"

تتم تعبئة المتغيرات التالية تلقائيًا في "إحصاءات Google" عند فرض سياسة "التحقّق من مفتاح واجهة برمجة التطبيقات" على مفتاح واجهة برمجة تطبيقات صالح. تتم تعبئة هذه المتغيّرات فقط من خلال سياسة التحقّق من مفتاح واجهة برمجة التطبيقات وسياسات OAuth.

يمكن استخدام المتغيرات والقيم كسمات لإنشاء تقارير "إحصاءات Google" من أجل الاطّلاع على أنماط الاستهلاك من قِبل المطوّرين والتطبيقات.

  • apiproduct.name
  • developer.app.name
  • client_id
  • developer.id

مرجع الخطأ

يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.

أخطاء في وقت التشغيل

يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.

رمز الخطأ رموز حالة HTTP السبب
keymanagement.service.CompanyStatusNotActive 401 تكون حالة الشركة المرتبطة بتطبيق المطوّر الذي يتضمّن مفتاح واجهة برمجة التطبيقات الذي تستخدمه: غير نشطة. وعند ضبط حالة الشركة على "غير نشطة"، لا يمكنك الوصول إلى المطورين أو التطبيقات المرتبطة بهذه الشركة. يمكن لمشرف المؤسسة تغيير حالة الشركة باستخدام واجهة برمجة تطبيقات الإدارة. ويمكنك الاطّلاع على تحديد حالة الشركة.
keymanagement.service.DeveloperStatusNotActive 401

إذا أنشأ المطوِّر الذي أنشأ تطبيق المطوّر الذي يتضمّن مفتاح واجهة برمجة التطبيقات الذي تستخدمه، ستكون حالته غير نشطة. عند ضبط حالة مطوِّر التطبيقات على "غير نشط"، يتم إيقاف أي تطبيقات مطوّر برامج أنشأها ذلك المطوّر. ويمكن لمستخدم مشرف لديه الأذونات المناسبة (مثل مشرف المؤسسة) تغيير حالة مطوّر البرامج بإحدى الطرق التالية:

keymanagement.service.invalid_client-app_not_approved 401 تم إبطال تطبيق المطوِّر المرتبط بمفتاح واجهة برمجة التطبيقات. لا يمكن للتطبيق الذي تم إبطاله الوصول إلى أي من منتجات واجهة برمجة التطبيقات، ولا يمكنه استدعاء أي واجهة برمجة تطبيقات تديرها Apigee Edge. يمكن لمشرف المؤسسة تغيير حالة "تطبيق مطوّر البرامج" باستخدام واجهة برمجة تطبيقات الإدارة. يُرجى الاطّلاع على الموافقة على تطبيق المطوِّر أو إبطاله.
oauth.v2.FailedToResolveAPIKey 401 تتوقّع السياسة العثور على مفتاح واجهة برمجة التطبيقات في متغيّر تم تحديده في عنصر <APIKey> الخاص بالسياسة. ينشأ هذا الخطأ عندما لا يكون المتغيّر المتوقّع متوفّرًا (لا يمكن حله).
oauth.v2.InvalidApiKey 401 استلم Edge مفتاح واجهة برمجة تطبيقات، ولكنه غير صالح. عندما يبحث Edge عن المفتاح في قاعدة البيانات الخاصة به، يجب أن يتطابق تمامًا مع المفتاح الذي تم إرساله في الطلب. إذا كانت واجهة برمجة التطبيقات تعمل في السابق، تأكَّد من عدم إعادة إنشاء المفتاح. في حال إعادة إنشاء المفتاح، سيظهر لك هذا الخطأ إذا حاولت استخدام المفتاح القديم. للاطّلاع على التفاصيل، يُرجى الاطّلاع على تسجيل التطبيقات وإدارة مفاتيح واجهة برمجة التطبيقات.
oauth.v2.InvalidApiKeyForGivenResource 401 تلقّى متصفّح Edge مفتاح واجهة برمجة تطبيقات، وهو صالح، ولكنّه لا يتطابق مع أي مفتاح تمّت الموافقة عليه في "تطبيق المطوّر" والمرتبط بالخادم الوكيل لواجهة برمجة التطبيقات من خلال أحد المنتجات.

أخطاء النشر

يمكن أن تحدث هذه الأخطاء عند نشر خادم وكيل يحتوي على هذه السياسة.

اسم الخطأ السبب
SpecifyValueOrRefApiKey لا يحتوي العنصر <APIKey> على قيمة أو مفتاح محدد.

متغيرات الخطأ

ويتم ضبط هذه المتغيرات عند حدوث خطأ في وقت التشغيل. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات.

المتغيرات المكان مثال
fault.name="fault_name" fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. fault.name Matches "FailedToResolveAPIKey"
oauthV2.policy_name.failed policy_name هو اسم السياسة التي حدّدها المستخدم التي أدت إلى حدوث الخطأ. oauthV2.VK-VerifyAPIKey.failed = true

أمثلة للأخطاء

{  
   "fault":{  
      "faultstring":"Invalid ApiKey",
      "detail":{  
         "errorcode":"oauth.v2.InvalidApiKey"
      }
   }
}
{  
   "fault":{  
      "detail":{  
         "errorcode":"keymanagement.service.DeveloperStatusNotActive"
      },
      "faultstring":"Developer Status is not Active"
   }
}

مثال لقاعدة خطأ

<FaultRule name="FailedToResolveAPIKey">
    <Step>
        <Name>AM-FailedToResolveAPIKey</Name>
    </Step>
    <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>

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