आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
क्या
इसकी मदद से, ऐक्सेस टोकन से जुड़े कस्टम एट्रिब्यूट जोड़े या अपडेट किए जा सकते हैं. कस्टम एट्रिब्यूट में डिपार्टमेंट का नाम, ग्राहक आईडी या सेशन आइडेंटिफ़ायर जैसी चीज़ें शामिल हो सकती हैं. टोकन और अनुमति कोड को पसंद के मुताबिक बनाना भी देखें.
सिर्फ़ कस्टम एट्रिब्यूट जोड़े या उनमें बदलाव किए जा सकते हैं. इस नीति का इस्तेमाल, स्कोप, स्थिति, expires_in, developer_email, client_id, org_name या refresh_count जैसे फ़ील्ड में बदलाव करने के लिए नहीं किया जा सकता. अगर कोई एट्रिब्यूट पहले से मौजूद है, तो यह नीति उसे अपडेट करती है. अगर यह मौजूद नहीं है, तो नीति इसे जोड़ देती है. जिस ऐक्सेस टोकन का रेफ़रंस दिया गया है वह मान्य होना चाहिए और उसे मंज़ूरी मिली होनी चाहिए.
सैंपल
बुनियादी उदाहरण
नीचे, OAuth 2.0 ऐक्सेस टोकन को अपडेट करने के लिए इस्तेमाल की गई नीति का उदाहरण दिया गया है. यहां दिए गए उदाहरण में, अनुरोध मैसेज में ऐक्सेस टोकन का पता लगाया गया है. इसके लिए, access_token नाम के क्वेरी पैरामीटर को खोजा गया है. जब कोई क्लाइंट ऐप्लिकेशन ऐक्सेस टोकन दिखाता है, तब नीचे दी गई नीति क्वेरी पैरामीटर में ऐक्सेस टोकन का पता लगाएगी. इसके बाद, यह ऐक्सेस टोकन की प्रोफ़ाइल को अपडेट करेगा. यह प्रोफ़ाइल में department.id नाम की कस्टम प्रॉपर्टी जोड़ता है.
<SetOAuthV2Info name="SetOAuthV2Info">
<AccessToken ref="request.queryparam.access_token"></AccessToken>
<Attributes>
<Attribute name="department.id" ref="request.queryparam.department_id"></Attribute>
</Attributes>
</SetOAuthV2Info>एलिमेंट का रेफ़रंस
इस एलिमेंट रेफ़रंस में, SetOAuthV2 नीति के एलिमेंट और एट्रिब्यूट के बारे में बताया गया है.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="SetOAuthV2Info-1"> <DisplayName>Set OAuth v2.0 Info 1</DisplayName> <AccessToken ref={some-variable}></AccessToken> <Attributes/> </SetOAuthV2Info> </xml>
<SetOAuthV2Info> एट्रिब्यूट
<SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Set-OAuth-v20-Info-1">
यहां दी गई टेबल में, ऐसे एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट में एक जैसे होते हैं:
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
name |
नीति का अंदरूनी नाम. इसके अलावा, नीति को लेबल करने के लिए, |
लागू नहीं | ज़रूरी है |
continueOnError |
किसी नीति के काम न करने पर, गड़बड़ी दिखाने के लिए नीति के लागू होने के बाद भी फ़्लो को एक्ज़ीक्यूट करने के लिए, इसे |
गलत | वैकल्पिक |
enabled |
नीति को लागू करने के लिए, नीति को बंद करने के लिए, |
सही | वैकल्पिक |
async |
यह एट्रिब्यूट अब काम नहीं करता. |
गलत | बहिष्कृत |
<DisplayName> एलिमेंट
इस कॉलम में नीति को लेबल करने के लिए, name एट्रिब्यूट के साथ-साथ इस्तेमाल करें
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम अलग और सामान्य भाषा में है.
<DisplayName>Policy Display Name</DisplayName>
| डिफ़ॉल्ट |
लागू नहीं अगर आप इस एलिमेंट को छोड़ देते हैं, तो नीति की |
|---|---|
| मौजूदगी | वैकल्पिक |
| टाइप | स्ट्रिंग |
<AccessToken> एलिमेंट
यह उस वैरिएबल की पहचान करता है जिसमें ऐक्सेस टोकन मौजूद है. उदाहरण के लिए, अगर ऐक्सेस टोकन को क्वेरी पैरामीटर के तौर पर अनुरोध मैसेज से जोड़ा गया है, तो request.queryparam.access_token तय करें. ऐसे किसी भी मान्य वैरिएबल का इस्तेमाल किया जा सकता है जो टोकन को रेफ़रंस करता हो. इसके अलावा, लिटरल टोकन स्ट्रिंग (रेयर केस) में पास किया जा सकता है.
<AccessToken ref="request.queryparam.access_token"></AccessToken>
| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | ज़रूरी है |
| टाइप: | स्ट्रिंग |
विशेषताएं
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| ref |
यह एक ऐक्सेस टोकन वैरिएबल है. आम तौर पर, इसे फ़्लो वैरिएबल से वापस पाया जाता है. |
लागू नहीं | वैकल्पिक |
<Attributes> एलिमेंट
ऐक्सेस टोकन प्रोफ़ाइल में मौजूद एट्रिब्यूट का ऐसा सेट जिसमें बदलाव किया जाएगा या जिसे बढ़ाया जाएगा.
| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | ज़रूरी है |
| टाइप: | लागू नहीं |
<Attributes>/<Attribute> एलिमेंट
अपडेट किया जाने वाला कोई एट्रिब्यूट.
name एट्रिब्यूट, ऐक्सेस टोकन प्रोफ़ाइल की उस कस्टम प्रॉपर्टी की पहचान करता है जिसे अपडेट करना है. इस उदाहरण में, रेफ़रंस की गई वैरिएबल वैल्यू और स्टैटिक वैल्यू का इस्तेमाल करने का तरीका दिखाया गया है.
<Attributes>
<Attribute name="department.id" ref="request.queryparam.department_id"></Attribute>
<Attribute name="foo">bar</Attribute>
</Attributes>| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | वैकल्पिक |
| टाइप: | लागू नहीं |
विशेषताएं
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| नाम | प्रोफ़ाइल एट्रिब्यूट का वह नाम जिसे जोड़ना है या जिसमें बदलाव करना है. | लागू नहीं | |
| ref |
प्रोफ़ाइल एट्रिब्यूट को असाइन की जाने वाली वैल्यू. |
लागू नहीं | वैकल्पिक |
फ़्लो वैरिएबल
सफल होने पर, ये फ़्लो वैरिएबल सेट किए जाएंगे:
oauthv2accesstoken.{policyName}.access_tokenoauthv2accesstoken.{policyName}.client_idoauthv2accesstoken.{policyName}.refresh_countoauthv2accesstoken.{policyName}.organization_nameoauthv2accesstoken.{policyName}.expires_in //--in secondsoauthv2accesstoken.{policyName}.refresh_token_expires_in //--in secondsoauthv2accesstoken.{policyName}.issued_atoauthv2accesstoken.{policyName}.statusoauthv2accesstoken.{policyName}.api_product_listoauthv2accesstoken.{policyName}.token_typeoauthv2accesstoken.{policyName}.{custom_attribute_name}
स्कीमा
नीति के हर टाइप को एक्सएमएल स्कीमा (.xsd) से तय किया जाता है. रेफ़रंस के लिए, नीति के स्कीमा GitHub पर उपलब्ध हैं.
गड़बड़ी की जानकारी
इस सेक्शन में, गड़बड़ी के कोड और गड़बड़ी के मैसेज के बारे में बताया गया है. साथ ही, उन गड़बड़ी वाले वैरिएबल के बारे में बताया गया है जिन्हें Edge सेट करता है. ऐसा तब होता है, जब यह नीति गड़बड़ी को ट्रिगर करती है. अगर आपको गड़बड़ियों को ठीक करने के लिए, गड़बड़ी से जुड़े नियम बनाने हैं, तो यह जानकारी आपके लिए ज़रूरी है. ज़्यादा जानने के लिए, नीति से जुड़ी गड़बड़ियों के बारे में ज़रूरी जानकारी और गड़बड़ियों को ठीक करना लेख पढ़ें.
रनटाइम से जुड़ी गड़बड़ियां
ये गड़बड़ियां, नीति लागू करते समय हो सकती हैं.
| गड़बड़ी का कोड | एचटीटीपी कोड स्थिति | वजह |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | नीति को भेजा गया ऐक्सेस टोकन अब मान्य नहीं है. |
steps.oauth.v2.invalid_access_token |
500 | नीति को भेजा गया ऐक्सेस टोकन अमान्य है. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | इस गड़बड़ी को ठीक करने के बारे में जानकारी पाने के लिए, कृपया Apigee की यह कम्यूनिटी पोस्ट देखें. |
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
डप्लॉयमेंट से जुड़ी गड़बड़ियों के बारे में जानकारी पाने के लिए, यूज़र इंटरफ़ेस (यूआई) में रिपोर्ट किया गया मैसेज देखें.
फ़ॉल्ट वैरिएबल
ये वैरिएबल तब सेट होते हैं, जब यह नीति रनटाइम में गड़बड़ी ट्रिगर करती है.
| वैरिएबल | कहां | उदाहरण |
|---|---|---|
fault.name="fault_name" |
fault_name गड़बड़ी का नाम है. इसके बारे में ऊपर दी गई रनटाइम से जुड़ी गड़बड़ियां टेबल में बताया गया है. गड़बड़ी का नाम, गड़बड़ी के कोड का आखिरी हिस्सा होता है. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name, नीति का वह नाम है जिसे उपयोगकर्ता ने तय किया है और जिसकी वजह से गड़बड़ी हुई है. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name, नीति का वह नाम है जिसे उपयोगकर्ता ने तय किया है और जिसकी वजह से गड़बड़ी हुई है. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name, नीति का वह नाम है जिसे उपयोगकर्ता ने तय किया है और जिसकी वजह से गड़बड़ी हुई है. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
गड़बड़ी के जवाब का उदाहरण
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}गड़बड़ी के नियम का उदाहरण
<FaultRule name=SetOAuthV2Info Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
<Condition>(fault.name = "invalid_access_token")</Condition>
</Step>
<Condition>(oauthV2.failed = true) </Condition>
</FaultRule>