GetOAuthV2Info नीति

फ़िलहाल, Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं Apigee X दस्तावेज़.
info

क्या

यह नीति, ऐक्सेस टोकन, रीफ़्रेश टोकन, ऑथराइज़ेशन कोड, और क्लाइंट ऐप्लिकेशन के एट्रिब्यूट की जानकारी हासिल करती है. साथ ही, इन एट्रिब्यूट की वैल्यू के साथ वैरिएबल को पॉप्युलेट करती है.

यह नीति तब काम आती है, जब आपको किसी टोकन या ऑथराइज़ेशन कोड में मौजूद वैल्यू के आधार पर, डाइनैमिक और शर्तों के हिसाब से काम करने की सुविधा कॉन्फ़िगर करनी हो. टोकन की पुष्टि होने पर, वैरिएबल में टोकन के एट्रिब्यूट की वैल्यू अपने-आप भर जाती हैं. हालांकि, अगर टोकन की पुष्टि नहीं हुई है, तो इस सुविधा का इस्तेमाल करके, वैरिएबल में टोकन के एट्रिब्यूट की वैल्यू साफ़ तौर पर भरी जा सकती हैं. टोकन और ऑथराइज़ेशन कोड को पसंद के मुताबिक बनाना भी देखें.

इस नीति को पास किया गया ऐक्सेस टोकन मान्य होना चाहिए. ऐसा न होने पर, नीति से invalid_access_token गड़बड़ी दिखेगी.

सैंपल

यहां दिए गए सैंपल में, OAuth2 वर्कफ़्लो के अलग-अलग कॉम्पोनेंट के बारे में जानकारी पाने के लिए, Get OAuth V2 Info नीति का इस्तेमाल किया गया है. इसके बाद, कोड में उस जानकारी को ऐक्सेस किया गया है.

ऐक्सेस टोकन

ऐक्सेस टोकन का रेफ़रंस पाने के लिए, अपनी नीति में <AccessToken> एलिमेंट का इस्तेमाल करें.

यहां दिए गए उदाहरण में, "access_token" नाम के क्वेरी पैरामीटर में ऐक्सेस टोकन मिलने की उम्मीद की जाती है. हालांकि, इसे लागू करने के तरीके के बारे में फ़ैसला आपको लेना है:

<GetOAuthV2Info name="MyTokenAttrsPolicy">
  <AccessToken ref="request.queryparam.access_token"></AccessToken>
</GetOAuthV2Info>

ऐक्सेस टोकन मिलने पर, नीति टोकन की प्रोफ़ाइल ढूंढती है और प्रोफ़ाइल डेटा के साथ वैरिएबल का सेट पॉप्युलेट करती है.

इसके बाद, JavaScript या किसी अन्य तरीके से वैरिएबल को ऐक्सेस किया जा सकता है. यहां दिए गए उदाहरण में, JavaScript का इस्तेमाल करके, ऐक्सेस टोकन से जुड़े स्कोप वापस पाए जाते हैं:

var scope = context.getVariable('oauthv2accesstoken.MyTokenAttrsPolicy.scope');

ध्यान दें कि कोड में इन वैरिएबल को ऐक्सेस करने के लिए, इनके पहले "oauthv2accesstoken" जोड़ना ज़रूरी है. ऐक्सेस टोकन के ज़रिए उपलब्ध वैरिएबल की पूरी सूची देखने के लिए, ऐक्सेस टोकन वैरिएबल देखें.

ऑथराइज़ेशन कोड

ऑथराइज़ेशन कोड के एट्रिब्यूट पाने के लिए, अपनी नीति में <AuthorizationCode> एलिमेंट का इस्तेमाल करें.

यहां दिए गए उदाहरण में, "code" नाम के फ़ॉर्म पैरामीटर में ऐक्सेस टोकन मिलने की उम्मीद की जाती है. हालांकि, इसे लागू करने के तरीके के बारे में फ़ैसला आपको लेना है:

<GetOAuthV2Info name="MyAuthCodeAttrsPolicy">
  <AuthorizationCode ref="request.formparam.code"></AuthorizationCode>
</GetOAuthV2Info>

ऑथराइज़ेशन कोड मिलने पर, नीति कोड की जानकारी ढूंढती है और ऑथराइज़ेशन कोड के डेटा के साथ वैरिएबल का सेट पॉप्युलेट करती है.

इसके बाद, JavaScript या किसी अन्य तरीके से वैरिएबल को ऐक्सेस किया जा सकता है. यहां दिए गए उदाहरण में, JavaScript का इस्तेमाल करके, ऑथराइज़ेशन कोड से जुड़ा कस्टम एट्रिब्यूट वापस पाया जाता है:

var attr = context.getVariable(oauthv2authcode.MyAuthCodeAttrsPolicy.custom_attribute_name);

ध्यान दें कि कोड में इन वैरिएबल को ऐक्सेस करने के लिए, इनके पहले "oauthv2authcode" जोड़ना ज़रूरी है. ऑथराइज़ेशन कोड के ज़रिए उपलब्ध वैरिएबल की पूरी सूची देखने के लिए, ऑथराइज़ेशन कोड वैरिएबल देखें.

रीफ़्रेश टोकन

रीफ़्रेश टोकन के एट्रिब्यूट पाने के लिए, अपनी नीति में <RefreshToken> एलिमेंट का इस्तेमाल करें.

यहां दिए गए उदाहरण में, "refresh_token" नाम के क्वेरी पैरामीटर में ऐक्सेस टोकन मिलने की उम्मीद की जाती है. हालांकि, इसे लागू करने के तरीके के बारे में फ़ैसला आपको लेना है:

<GetOAuthV2Info name="MyRefreshTokenAttrsPolicy">
  <RefreshToken ref="request.queryparam.refresh_token"/>
</GetOAuthV2Info>

रीफ़्रेश टोकन मिलने पर, नीति रीफ़्रेश टोकन की जानकारी ढूंढती है और रीफ़्रेश टोकन के डेटा के साथ वैरिएबल का सेट पॉप्युलेट करती है.

इसके बाद, JavaScript या किसी अन्य तरीके से इन वैरिएबल को ऐक्सेस किया जा सकता है. यहां दिए गए उदाहरण में, JavaScript का इस्तेमाल करके, रीफ़्रेश टोकन से जुड़ा कस्टम एट्रिब्यूट वापस पाया जाता है:

var attr = context.getVariable(oauthv2refreshtoken.MyRefreshTokenAttrsPolicy.accesstoken.custom_attribute_name);

ध्यान दें कि कोड में वैरिएबल को ऐक्सेस करने के लिए, इनके पहले "oauthv2refreshtoken" जोड़ना ज़रूरी है. रीफ़्रेश टोकन के ज़रिए उपलब्ध वैरिएबल की पूरी सूची देखने के लिए, रीफ़्रेश टोकन वैरिएबल देखें.

स्थिर

कुछ मामलों में, आपको स्टैटिक तरीके से कॉन्फ़िगर किए गए टोकन की प्रोफ़ाइल पाने की ज़रूरत पड़ सकती है. ऐसा टोकन जिसे वैरिएबल के ज़रिए ऐक्सेस नहीं किया जा सकता . ऐसा करने के लिए, ऐक्सेस टोकन की वैल्यू को एलिमेंट के तौर पर दिया जा सकता है.

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken>shTUmeI1geSKin0TODcGLXBNe9vp</AccessToken>
</GetOAuthV2Info>

ऐसा अन्य सभी तरह के टोकन (क्लाइंट आईडी, ऑथराइज़ेशन कोड, और रीफ़्रेश टोकन) के साथ भी किया जा सकता है.

क्लाइंट आईडी

इस उदाहरण में, क्लाइंट आईडी का इस्तेमाल करके, क्लाइंट ऐप्लिकेशन के बारे में जानकारी पाने का तरीका बताया गया है. नीति लागू होने पर, क्लाइंट की जानकारी के साथ वैरिएबल का सेट पॉप्युलेट हो जाता है. इस मामले में, नीति को क्वेरी पैरामीटर में क्लाइंट आईडी मिलने की उम्मीद होती है जिसे client_id कहा जाता है. क्लाइंट आईडी मिलने पर, नीति क्लाइंट की प्रोफ़ाइल ढूंढती है और प्रोफ़ाइल डेटा के साथ वैरिएबल का सेट पॉप्युलेट करती है. वैरिएबल के पहले oauthv2client. जोड़ा जाएगा.

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId ref="request.queryparam.client_id"></ClientId>
</GetOAuthV2Info>

इसके बाद, JavaScript या किसी अन्य तरीके से वैरिएबल को ऐक्सेस किया जा सकता है. उदाहरण के लिए, JavaScript का इस्तेमाल करके, क्लाइंट ऐप्लिकेशन से जुड़ा डेवलपर ऐप्लिकेशन का नाम और डेवलपर का ईमेल पाने के लिए:

context.getVariable("oauthv2client.GetClientAttributes.developer.email");
context.getVariable("oauthv2client.GetClientAttributes.developer.app.name");

एलिमेंट रेफ़रंस

एलिमेंट रेफ़रंस में, GetOAuthV2Info नीति के एलिमेंट और एट्रिब्यूट के बारे में बताया गया है.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="GetOAuthV2Info-1"
    <DisplayName>Get OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref="variable"></AccessToken>
    <AuthorizationCode ref="variable"></AuthorizationCode>
    <ClientId ref="variable"></ClientId>
    <RefreshToken ref="variable"></RefreshToken>
</GetOAuthV2Info>

<GetOAuthV2Info> एट्रिब्यूट

<GetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Get-OAuth-v20-Info-1">

यहां दी गई टेबल में, ऐसे एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट में एक जैसे होते हैं:

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
name

नीति का अंदरूनी नाम. name एट्रिब्यूट की वैल्यू ये काम कर सकती है: अक्षरों, संख्याओं, स्पेस, हाइफ़न, अंडरस्कोर, और फ़ुलस्टॉप को शामिल करें. यह मान नहीं हो सकता 255 वर्णों से ज़्यादा होने चाहिए.

इसके अलावा, नीति को लेबल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल करें प्रबंधन यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर को अलग, आम भाषा में इस्तेमाल करने वाले नाम के साथ किया जा सकता है.

लागू नहीं ज़रूरी है
continueOnError

किसी नीति के काम न करने पर, गड़बड़ी दिखाने के लिए false पर सेट करें. यह उम्मीद है व्यवहार की जानकारी देने वाला डेटा.

नीति के लागू होने के बाद भी फ़्लो को एक्ज़ीक्यूट करने के लिए, इसे true पर सेट करें विफल होता है.

गलत वैकल्पिक
enabled

नीति को लागू करने के लिए, true पर सेट करें.

नीति को बंद करने के लिए, false पर सेट करें. नीति लागू किया जाता है, भले ही वह किसी फ़्लो से जुड़ा रहता हो.

सही वैकल्पिक
async

यह एट्रिब्यूट अब काम नहीं करता.

गलत बहिष्कृत

&lt;DisplayName&gt; एलिमेंट

इस कॉलम में नीति को लेबल करने के लिए, name एट्रिब्यूट के साथ-साथ इस्तेमाल करें मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम अलग और सामान्य भाषा में है.

<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट

लागू नहीं

अगर आप इस एलिमेंट को छोड़ देते हैं, तो नीति की name एट्रिब्यूट की वैल्यू यह होगी इस्तेमाल किया गया.

मौजूदगी वैकल्पिक
टाइप स्ट्रिंग

<AccessToken> एलिमेंट

यह एलिमेंट, ऐक्सेस टोकन की प्रोफ़ाइल वापस लाता है. इसमें, आपको ऐसा वैरिएबल पास करना होता है जिसमें ऐक्सेस टोकन स्ट्रिंग शामिल हो या टोकन की लिटरल स्ट्रिंग (ऐसा कम ही होता है). इस उदाहरण में, ऐक्सेस टोकन को अनुरोध में पास किए गए क्वेरी पैरामीटर से वापस लाया जाता है. अगर आपको रद्द किए गए या समयसीमा खत्म हो चुके टोकन की जानकारी वापस लानी है, तो <IgnoreAccessTokenStatus> एलिमेंट का इस्तेमाल करें.

<AccessToken ref="request.queryparam.access_token"></AccessToken>

डिफ़ॉल्ट:

request.formparam.access_token (x-www-form-urlencoded और अनुरोध की बॉडी में बताया गया )

मौजूदगी:

ज़रूरी नहीं है

टाइप: स्ट्रिंग
मान्य वैल्यू:

कोई फ़्लो वैरिएबल जिसमें ऐक्सेस टोकन स्ट्रिंग शामिल हो या कोई लिटरल स्ट्रिंग.


<AuthorizationCode> एलिमेंट

यह एलिमेंट, ऑथराइज़ेशन कोड की प्रोफ़ाइल वापस लाता है. इसमें, आपको ऐसा वैरिएबल पास करना होता है जिसमें ऑथराइज़ेशन कोड स्ट्रिंग शामिल हो या टोकन की लिटरल स्ट्रिंग (ऐसा कम ही होता है). इस उदाहरण में, ऑथराइज़ेशन कोड को अनुरोध में पास किए गए क्वेरी पैरामीटर से वापस लाया जाता है. इस कार्रवाई से पॉप्युलेट होने वाले वैरिएबल की सूची के लिए, "फ़्लो वैरिएबल" देखें.

<AuthorizationCode ref="request.queryparam.authorization_code"></AuthorizationCode>

डिफ़ॉल्ट:

request.formparam.access_token (x-www-form-urlencoded और अनुरोध की बॉडी में बताया गया )

मौजूदगी:

ज़रूरी नहीं है

टाइप: स्ट्रिंग
मान्य वैल्यू:

कोई फ़्लो वैरिएबल जिसमें ऑथराइज़ेशन कोड स्ट्रिंग शामिल हो या कोई लिटरल स्ट्रिंग.

<ClientId> एलिमेंट

यह एलिमेंट, क्लाइंट आईडी से जुड़ी जानकारी वापस लाता है. इस उदाहरण में, क्लाइंट आईडी को अनुरोध में पास किए गए क्वेरी पैरामीटर से वापस लाया जाता है. इस कार्रवाई से पॉप्युलेट होने वाले वैरिएबल की सूची के लिए, "फ़्लो वैरिएबल" देखें.

<ClientId ref="request.queryparam.client_id"></ClientId>

डिफ़ॉल्ट:

request.formparam.access_token (x-www-form-urlencoded और अनुरोध की बॉडी में बताया गया )

मौजूदगी:

ज़रूरी नहीं है

टाइप: स्ट्रिंग
मान्य वैल्यू: कोई फ़्लो वैरिएबल जिसमें ऑथराइज़ेशन कोड स्ट्रिंग शामिल हो या कोई लिटरल स्ट्रिंग.

<IgnoreAccessTokenStatus> एलिमेंट

यह एलिमेंट, टोकन की जानकारी तब भी वापस लाता है, जब टोकन की समयसीमा खत्म हो चुकी हो या उसे रद्द कर दिया गया हो. इस एलिमेंट का इस्तेमाल सिर्फ़ ऐक्सेस टोकन के साथ किया जा सकता है. रीफ़्रेश टोकन और ऑथराइज़ेशन कोड जैसी अन्य इकाइयों की जानकारी, डिफ़ॉल्ट रूप से उनकी स्थिति के बावजूद वापस लाई जाती है.

<IgnoreAccessTokenStatus>true</IgnoreAccessTokenStatus>

डिफ़ॉल्ट:

गलत

मौजूदगी:

ज़रूरी नहीं है

टाइप: बूलियन
मान्य वैल्यू: सही या गलत

<RefreshToken> एलिमेंट

यह एलिमेंट, रीफ़्रेश टोकन की प्रोफ़ाइल वापस लाता है. इसमें, आपको ऐसा वैरिएबल पास करना होता है जिसमें रीफ़्रेश टोकन स्ट्रिंग शामिल हो या टोकन की लिटरल स्ट्रिंग (ऐसा कम ही होता है). इस उदाहरण में, रीफ़्रेश टोकन को अनुरोध में पास किए गए क्वेरी पैरामीटर से वापस लाया जाता है. इस कार्रवाई से पॉप्युलेट होने वाले वैरिएबल की सूची के लिए, "फ़्लो वैरिएबल" देखें.

<RefreshToken ref="request.queryparam.refresh_token"></RefreshToken>

डिफ़ॉल्ट:

request.formparam.access_token (x-www-form-urlencoded और अनुरोध की बॉडी में बताया गया )

मौजूदगी:

ज़रूरी नहीं है

टाइप: स्ट्रिंग
मान्य वैल्यू:

कोई फ़्लो वैरिएबल जिसमें रीफ़्रेश टोकन स्ट्रिंग शामिल हो या कोई लिटरल स्ट्रिंग.

फ़्लो वैरिएबल

GetOAuthV2Info नीति, इन वैरिएबल को पॉप्युलेट करती है. इसका इस्तेमाल आम तौर पर तब किया जाता है, जब आपको प्रोफ़ाइल डेटा की ज़रूरत होती है, लेकिन अनुमति या पुष्टि अब तक नहीं हुई है. .

क्लाइंट आईडी वैरिएबल

ClientId एलिमेंट सेट होने पर, ये वैरिएबल पॉप्युलेट होते हैं:

oauthv2client.{policy_name}.client_id
oauthv2client.{policy_name}.client_secret
oauthv2client.{policy_name}.redirection_uris // Note the spelling -- 'redirection_uris'
oauthv2client.{policy_name}.developer.email
oauthv2client.{policy_name}.developer.app.name
oauthv2client.{policy_name}.developer.id
oauthv2client.{policy_name}.{developer_app_custom_attribute_name}

ऐक्सेस टोकन वैरिएबल

AccessToken एलिमेंट सेट होने पर, ये वैरिएबल पॉप्युलेट होते हैं:

oauthv2accesstoken.{policy_name}.developer.id
oauthv2accesstoken.{policy_name}.developer.app.name
oauthv2accesstoken.{policy_name}.developer.app.id
oauthv2accesstoken.{policy_name}.developer.email

oauthv2accesstoken.{policy_name}.organization_name
oauthv2accesstoken.{policy_name}.api_product_list

oauthv2accesstoken.{policy_name}.access_token
oauthv2accesstoken.{policy_name}.scope
oauthv2accesstoken.{policy_name}.expires_in //in seconds
oauthv2accesstoken.{policy_name}.status
oauthv2accesstoken.{policy_name}.client_id
oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2accesstoken.{policy_name}.refresh_token
oauthv2accesstoken.{policy_name}.refresh_token_status
oauthv2accesstoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2accesstoken.{policy_name}.refresh_count
oauthv2accesstoken.{policy_name}.refresh_token_issued_at
oauthv2accesstoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

ऑथराइज़ेशन कोड वैरिएबल

AuthorizationCode एलिमेंट सेट होने पर, ये वैरिएबल पॉप्युलेट होते हैं:

oauthv2authcode.{policy_name}.code
oauthv2authcode.{policy_name}.scope
oauthv2authcode.{policy_name}.redirect_uri
oauthv2authcode.{policy_name}.client_id
oauthv2authcode.{policy_name}.{auth_code_custom_attribute_name}

रीफ़्रेश टोकन वैरिएबल

RefreshToken एलिमेंट सेट होने पर, ये वैरिएबल पॉप्युलेट होते हैं:

oauthv2refreshtoken.{policy_name}.developer.id
oauthv2refreshtoken.{policy_name}.developer.app.name
oauthv2refreshtoken.{policy_name}.developer.app.id
oauthv2refreshtoken.{policy_name}.developer.email
oauthv2refreshtoken.{policy_name}.organization_name
oauthv2refreshtoken.{policy_name}.api_product_list

oauthv2refreshtoken.{policy_name}.access_token
oauthv2refreshtoken.{policy_name}.scope
oauthv2refreshtoken.{policy_name}.expires_in //in seconds

oauthv2refreshtoken.{policy_name}.status
oauthv2refreshtoken.{policy_name}.client_id
oauthv2refreshtoken.{policy_name}.accesstoken.{custom_attribute_name}

oauthv2refreshtoken.{policy_name}.refresh_token
oauthv2refreshtoken.{policy_name}.refresh_token_status
oauthv2refreshtoken.{policy_name}.refresh_token_expires_in //in seconds

oauthv2refreshtoken.{policy_name}.refresh_count
oauthv2refreshtoken.{policy_name}.refresh_token_issued_at
oauthv2refreshtoken.{policy_name}.revoke_reason //Apigee hybrid only with value of REVOKED_BY_APP, REVOKED_BY_ENDUSER, REVOKED_BY_APP_ENDUSER, or TOKEN_REVOKED

स्कीमा

हर तरह की नीति को, एक्सएमएल स्कीमा (.xsd) से तय किया जाता है. रेफ़रंस के लिए, नीति के स्कीमा GitHub पर उपलब्ध हैं.

गड़बड़ी की जानकारी

इस सेक्शन में, गड़बड़ी के कोड और गड़बड़ी के मैसेज के बारे में बताया गया है. साथ ही, इन गड़बड़ियों के वैरिएबल के बारे में भी बताया गया है, जो Edge की मदद से सेट किए जाते हैं. यह जानकारी जानना ज़रूरी है कि क्या आप गड़बड़ियों को ठीक करता है. ज़्यादा जानने के लिए, आपके लिए ज़रूरी जानकारी देखें नीति से जुड़ी गड़बड़ियों और हैंडलिंग के बारे में जानकारी गलतियां.

रनटाइम की गड़बड़ियां

नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं. नीचे दिखाए गए गड़बड़ी के नाम स्ट्रिंग हैं जिन्हें कोई गड़बड़ी होने पर fault.name वैरिएबल को असाइन किया जाता है. गलती देखें 'वैरिएबल' सेक्शन में जाएं.

गड़बड़ी कोड एचटीटीपी कोड स्थिति वजह
steps.oauth.v2.access_token_expired 500 नीति को भेजे गए ऐक्सेस टोकन की समयसीमा खत्म हो गई है.
steps.oauth.v2.authorization_code_expired 500 नीति को भेजे गए ऑथराइज़ेशन कोड की समयसीमा खत्म हो गई है.
steps.oauth.v2.invalid_access_token 500 नीति को भेजा गया ऐक्सेस टोकन अमान्य है.
steps.oauth.v2.invalid_client-invalid_client_id 500 नीति को भेजा गया क्लाइंट आईडी अमान्य है.
steps.oauth.v2.invalid_refresh_token 500 नीति को भेजा गया रीफ़्रेश टोकन अमान्य है.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 नीति को भेजा गया ऑथराइज़ेशन कोड अमान्य है.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 कृपया देखें यह Apigee कम्यूनिटी पोस्ट पढ़ें.
steps.oauth.v2.refresh_token_expired 500 नीति को भेजे गए रीफ़्रेश टोकन की समयसीमा खत्म हो गई है.

डिप्लॉयमेंट से जुड़ी गड़बड़ियां

डिप्लॉयमेंट की गड़बड़ियों के बारे में जानकारी के लिए, यूज़र इंटरफ़ेस (यूआई) में रिपोर्ट किया गया मैसेज देखें.

गड़बड़ी के वैरिएबल

ये वैरिएबल तब सेट किए जाते हैं, जब यह नीति रनटाइम के दौरान कोई गड़बड़ी ट्रिगर करती है.

वैरिएबल कहां उदाहरण
fault.name="fault_name" fault_name गड़बड़ी का नाम है, जैसा कि ऊपर रनटाइम में गड़बड़ियां टेबल में बताया गया है. गड़बड़ी का नाम, गड़बड़ी के कोड का आखिरी हिस्सा होता है. fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. oauthV2.GetTokenInfo.cause = ClientID is Invalid

गड़बड़ी के रिस्पॉन्स का उदाहरण

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

गड़बड़ी के नियम का उदाहरण

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

मिलते-जुलते विषय