यह Apigee Edge के दस्तावेज़ हैं.
पर जाएं
Apigee X दस्तावेज़. info
क्या
इससे, बताया गया OAuth V2 ऑथराइज़ेशन कोड या ऐक्सेस टोकन मिट जाता है.
सैंपल
ऐक्सेस टोकन मिटाना
यहां एक नीति का उदाहरण दिया गया है. इसका इस्तेमाल, OAuth 2.0 ऐक्सेस टोकन को मिटाने के लिए किया जाता है. नीचे दिए गए उदाहरण में, अनुरोध वाले मैसेज में मौजूद उस ऐक्सेस टोकन का पता लगाया जाता है जिसे मिटाना है. इसके लिए,
access_token नाम का हेडर खोजा जाता है.
<DeleteOAuthV2Info name="DeleteAccessToken">
<AccessToken ref="request.header.access_token"></AccessToken>
</DeleteOAuthV2Info>ऑथराइज़ेशन कोड मिटाना
यहां एक नीति का उदाहरण दिया गया है. इसका इस्तेमाल, OAuth 2.0 ऑथराइज़ेशन कोड को मिटाने के लिए किया जाता है. नीचे दिए गए उदाहरण में, अनुरोध वाले मैसेज में मौजूद उस ऑथराइज़ेशन कोड का पता लगाया जाता है जिसे मिटाना है. इसके लिए, code नाम का क्वेरी पैरामीटर खोजा जाता है.
<DeleteOAuthV2Info name="DeleteAuthCode">
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
</DeleteOAuthV2Info>एलिमेंट की जानकारी
एलिमेंट की जानकारी में, DeleteOAuthV2Info नीति के एलिमेंट और एट्रिब्यूट के बारे में बताया गया है.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="DeleteOAuthV2Info-1"> <DisplayName>Delete OAuth v2.0 Info 1</DisplayName> <AccessToken ref={some-variable}></AccessToken> <!--<AuthorizationCode ref={some-variable}></AuthorizationCode>--> <Attributes/> </DeleteOAuthV2Info
<DeleteOAuthV2Info> एट्रिब्यूट
<DeleteOAuthV2Info async="false" continueOnError="false" enabled="true" name="Delete-OAuth-v20-Info-1">
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| एक साथ काम नहीं करने वाली प्रोसेस |
अगर आपको यह तय करना है कि नीति को थ्रेड
पूल में चलाया जाना चाहिए, तो इसे इस सेटिंग का इस्तेमाल सिर्फ़ इंटरनल ऑप्टिमाइज़ेशन के लिए किया जाता है. |
गलत | वैकल्पिक |
| continueOnError |
ज़्यादातर नीतियों से उम्मीद की जाती है कि गड़बड़ी होने पर वे कोई गड़बड़ी दिखाएं. इस
एट्रिब्यूट को |
गलत | वैकल्पिक |
| चालू किया गया | इससे तय होता है कि किसी नीति को लागू किया गया है या नहीं. अगर इसे false पर सेट किया जाता है, तो नीति 'बंद' हो जाती है और उसे लागू नहीं किया जाता. भले ही, नीति किसी फ़्लो से जुड़ी हो. |
सही | वैकल्पिक |
| नाम |
यह नीति का इंटरनल नाम है. इस नाम का रेफ़रंस, Step एलिमेंट में दिया जाता है, ताकि नीति को किसी फ़्लो से जोड़ा जा सके. ध्यान दें: नाम में सिर्फ़ इन वर्णों का इस्तेमाल किया जा सकता है:
|
लागू नहीं | ज़रूरी है |
<AccessToken> एलिमेंट
इससे उस वैरिएबल की पहचान होती है जिसमें मिटाया जाने वाला ऐक्सेस टोकन मौजूद होता है. उदाहरण के लिए, अगर ऐक्सेस टोकन को "access_token" नाम के क्वेरी पैरामीटर के तौर पर, अनुरोध वाले मैसेज से जोड़ा गया है, तो
request.queryparam.access_token तय करें. टोकन के रेफ़रंस के तौर पर, किसी भी मान्य वैरिएबल का इस्तेमाल किया जा सकता है
इसके अलावा, टोकन की लिटरल स्ट्रिंग को पास किया जा सकता है. हालांकि, ऐसा बहुत कम होता है.
<AccessToken ref="request.queryparam.access_token"></AccessToken>
| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | <AccessToken> या <AuthorizationCode> में से कोई एक होना ज़रूरी है. |
| टाइप: | स्ट्रिंग |
एट्रिब्यूट
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| रेफ़रंस |
यह ऐक्सेस टोकन का वैरिएबल है. आम तौर पर, इसे फ़्लो वैरिएबल से वापस पाया जाता है. उदाहरण
के लिए: |
लागू नहीं | वैकल्पिक |
<AuthorizationCode> एलिमेंट
इससे उस वैरिएबल की पहचान होती है जिसमें मिटाया जाने वाला ऑथराइज़ेशन कोड मौजूद होता है. उदाहरण के लिए, अगर ऑथराइज़ेशन कोड को "code" नाम के क्वेरी पैरामीटर के तौर पर, अनुरोध वाले मैसेज से जोड़ा गया है, तो request.queryparam.code तय करें. टोकन के रेफ़रंस के तौर पर, किसी भी मान्य वैरिएबल का इस्तेमाल किया जा सकता है.
इसके अलावा, टोकन की लिटरल स्ट्रिंग को पास किया जा सकता है. हालांकि, ऐसा बहुत कम होता है.
<AuthorizationCode ref="request.queryparam.code"></AuthorizationCode>
| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | <AccessToken> या <AuthorizationCode> में से कोई एक होना ज़रूरी है. |
| टाइप: | स्ट्रिंग |
एट्रिब्यूट
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| रेफ़रंस |
यह ऐक्सेस टोकन का वैरिएबल है. आम तौर पर, इसे फ़्लो वैरिएबल से वापस पाया जाता है. उदाहरण
के लिए: |
लागू नहीं | वैकल्पिक |
<DisplayName> एलिमेंट
यह सामान्य भाषा में दिया गया नाम है. इससे, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) के प्रॉक्सी एडिटर में नीति को लेबल किया जाता है. अगर इसे शामिल नहीं किया जाता है, तो नीति के नाम वाले एट्रिब्यूट का इस्तेमाल किया जाता है.
<DisplayName>DeleteOAuthV2Info 1</DisplayName>
| डिफ़ॉल्ट: | नीति के name एट्रिब्यूट की वैल्यू. |
| मौजूदगी: | वैकल्पिक |
| टाइप: | स्ट्रिंग |
गड़बड़ी की जानकारी
इस सेक्शन में, गड़बड़ी के कोड और गड़बड़ी के मैसेज के बारे में बताया गया है. साथ ही, इन गड़बड़ियों के वैरिएबल के बारे में भी बताया गया है, जो Edge की मदद से सेट किए जाते हैं. यह जानकारी जानना ज़रूरी है कि क्या आप गड़बड़ियों को ठीक करता है. ज़्यादा जानने के लिए, आपके लिए ज़रूरी जानकारी देखें नीति से जुड़ी गड़बड़ियों और हैंडलिंग के बारे में जानकारी गलतियां.
रनटाइम की गड़बड़ियां
नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.
| गड़बड़ी कोड | एचटीटीपी कोड स्थिति | वजह |
|---|---|---|
steps.oauth.v2.invalid_access_token |
401 | नीति को भेजा गया ऐक्सेस टोकन अमान्य है. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | नीति को भेजा गया ऑथराइज़ेशन कोड अमान्य है. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | कृपया देखें यह Apigee कम्यूनिटी पोस्ट पढ़ें. |
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
डिप्लॉयमेंट की गड़बड़ियों के बारे में जानकारी के लिए, यूज़र इंटरफ़ेस (यूआई) में रिपोर्ट किया गया मैसेज देखें.
गड़बड़ी के वैरिएबल
ये वैरिएबल तब सेट किए जाते हैं, जब यह नीति रनटाइम के दौरान कोई गड़बड़ी ट्रिगर करती है.
| वैरिएबल | कहां | उदाहरण |
|---|---|---|
fault.name="fault_name" |
fault_name गड़बड़ी का नाम है, जैसा कि ऊपर रनटाइम में गड़बड़ियां टेबल में बताया गया है. गड़बड़ी का नाम, गड़बड़ी के कोड का आखिरी हिस्सा होता है. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
गड़बड़ी के रिस्पॉन्स का उदाहरण
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}गड़बड़ी के नियम का उदाहरण
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
</Step>
<Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>स्कीमा
हर तरह की नीति को, एक्सएमएल स्कीमा (.xsd) से तय किया जाता है. जानकारी के लिए, नीति के स्कीमा
GitHub पर उपलब्ध हैं.