Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
यह क्या है
यह ऐक्सेस टोकन, रीफ़्रेश टोकन, ऑथराइज़ेशन कोड, और क्लाइंट ऐप्लिकेशन के एट्रिब्यूट के एट्रिब्यूट की जानकारी देता है. साथ ही, वैरिएबल की वैल्यू को उन एट्रिब्यूट की वैल्यू से भर देता है.
यह नीति तब काम की होती है, जब आपको टोकन या ऑथराइज़ेशन कोड में मौजूद वैल्यू के आधार पर, डाइनैमिक और कंडिशनल बिहेवियर को कॉन्फ़िगर करने की ज़रूरत होती है. जब भी टोकन की पुष्टि होती है, तो वैरिएबल की जानकारी अपने-आप टोकन एट्रिब्यूट की वैल्यू से भर जाती है. हालांकि, ऐसे मामलों में जहां टोकन की पुष्टि नहीं हुई है, इस सुविधा का इस्तेमाल करके, वैरिएबल को टोकन की एट्रिब्यूट वैल्यू से साफ़ तौर पर पॉप्युलेट किया जा सकता है. टोकन को पसंद के मुताबिक बनाना और ऑथराइज़ेशन कोड करना भी देखें.
इस नीति के साथ पास किया जाने वाला ऐक्सेस टोकन मान्य होना चाहिए. ऐसा न करने पर, नीति invalid_access_token
गड़बड़ी दिखाएगा.
सैंपल
यहां दिए गए सैंपल, OAuth2 वर्कफ़्लो के अलग-अलग कॉम्पोनेंट के बारे में जानकारी हासिल करने के लिए, OAuth V2 जानकारी पाने की नीति का इस्तेमाल करते हैं. इसके बाद, कोड में उस जानकारी को ऐक्सेस किया जाता है.
ऐक्सेस टोकन
ऐक्सेस टोकन का रेफ़रंस पाने के लिए, अपनी नीति में <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>
एलिमेंट का इस्तेमाल करें.
इस उदाहरण में, ऐक्सेस टोकन को "कोड" नाम के फ़ॉर्म पैरामीटर में मिल सकता है. इसे लागू करने की असल जानकारी आप पर निर्भर होती है:
<GetOAuthV2Info name="MyAuthCodeAttrsPolicy"> <AuthorizationCode ref="request.formparam.code"></AuthorizationCode> </GetOAuthV2Info>
ऑथराइज़ेशन कोड मिलने पर, नीति, कोड की जानकारी का इस्तेमाल करती है. साथ ही, पुष्टि करने वाले कोड के डेटा के साथ वैरिएबल का एक सेट पॉप्युलेट करती है.
इसके बाद, JavaScript या किसी दूसरे तरीके का इस्तेमाल करके, वैरिएबल को ऐक्सेस किया जा सकता है. नीचे दिया गया उदाहरण, JavaScript का इस्तेमाल करके ऑथराइज़ेशन कोड से जुड़े कस्टम एट्रिब्यूट को फिर से हासिल करता है:
var attr = context.getVariable(‘oauthv2authcode.MyAuthCodeAttrsPolicy.custom_attribute_name’);
ध्यान दें कि कोड में उन वैरिएबल को ऐक्सेस करने के लिए, आपको उनके प्रीफ़िक्स "oauthv2authcode" से शुरू करना होगा. ऑथराइज़ेशन कोड के ज़रिए उपलब्ध वैरिएबल की पूरी सूची के लिए, ऑथराइज़ेशन कोड वैरिएबल देखें.
टोकन रीफ़्रेश करें
रीफ़्रेश टोकन एट्रिब्यूट पाने के लिए, अपनी नीति में <RefreshToken>
एलिमेंट का इस्तेमाल करें.
नीचे दिए गए उदाहरण में, "रीफ़्रेश_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
इस उदाहरण में, क्लाइंट आईडी का इस्तेमाल करके क्लाइंट ऐप्लिकेशन के बारे में जानकारी पाने का तरीका बताया गया है.
लागू करने के बाद, यह नीति वैरिएबल के एक सेट को क्लाइंट की जानकारी से भर देती है. इस मामले में, नीति के मुताबिक client_id
नाम के क्वेरी पैरामीटर में 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 |
नीति का अंदरूनी नाम. इसके अलावा, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में नीति को आम भाषा में अलग नाम से लेबल करने के लिए, |
लागू नहीं | ज़रूरी है |
continueOnError |
इस नीति को किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, |
false | ज़रूरी नहीं |
enabled |
नीति लागू करने के लिए, नीति को बंद करने के लिए, |
सही | ज़रूरी नहीं |
async |
यह एट्रिब्यूट अब काम नहीं करता. |
false | बहिष्कृत |
<DisplayName> एलिमेंट
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name
एट्रिब्यूट का इस्तेमाल करें.
<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट |
लागू नहीं अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के |
---|---|
मौजूदगी | ज़रूरी नहीं |
Type | String |
<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>
डिफ़ॉल्ट: |
false |
मौजूदगी: |
ज़रूरी नहीं |
टाइप: | बूलियन |
मान्य वैल्यू: | सही या गलत |
<RefreshToken> एलिमेंट
रीफ़्रेश टोकन के लिए प्रोफ़ाइल को वापस लाता है. आपके पास या तो कोई ऐसा वैरिएबल होता है जिसमें रीफ़्रेश टोकन स्ट्रिंग या लिटरल टोकन स्ट्रिंग होती है (बहुत कम इस्तेमाल होने वाला). इस उदाहरण में, रीफ़्रेश टोकन को ऐसे क्वेरी पैरामीटर से लिया गया है जिसके लिए अनुरोध किया गया. इस ऑपरेशन के हिसाब से भरे गए वैरिएबल की सूची के लिए, "फ़्लो वैरिएबल" देखें.
<RefreshToken ref="request.queryparam.refresh_token"></RefreshToken>
डिफ़ॉल्ट: |
request.formparam.access_token (एक x-www-form-urlencoded और अनुरोध के मुख्य भाग में मौजूद) |
मौजूदगी: |
ज़रूरी नहीं |
टाइप: | स्ट्रिंग |
मान्य वैल्यू: |
रीफ़्रेश टोकन स्ट्रिंग वाला फ़्लो वैरिएबल या लिटरल स्ट्रिंग. |
फ़्लो वैरिएबल
GetOAuthV2Info नीति, इन वैरिएबल को पॉप्युलेट करती है. आम तौर पर, इसका इस्तेमाल उन मामलों में किया जाता है जहां आपको प्रोफ़ाइल के डेटा की ज़रूरत होती है, लेकिन जहां अभी तक कोई अनुमति नहीं मिली है या पुष्टि नहीं हुई है. .
Client-ID वैरिएबल
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
ऑथराइज़ेशन कोड वैरिएबल
AuthorizeCode एलिमेंट सेट होने पर इन वैरिएबल का डेटा अपने-आप भर जाता है:
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}
टोकन वैरिएबल रीफ़्रेश करें
रीफ़्रेश टोकन एलिमेंट सेट होने पर इन वैरिएबल का डेटा अपने-आप भर जाता है:
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>