Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
यह क्या है
इसकी मदद से, किसी ऐक्सेस टोकन से जुड़े कस्टम एट्रिब्यूट जोड़े या अपडेट किए जा सकते हैं. कस्टम एट्रिब्यूट में डिपार्टमेंट का नाम, ग्राहक आईडी या सेशन आइडेंटिफ़ायर जैसी चीज़ें शामिल हो सकती हैं. टोकन को पसंद के मुताबिक बनाना और ऑथराइज़ेशन कोड करना भी देखें.
सिर्फ़ कस्टम एट्रिब्यूट जोड़े या उनमें बदलाव किए जा सकते हैं. इस नीति का इस्तेमाल करके, स्कोप, स्थिति, expand_in, developer_email, client_id, org_name या रीफ़्रेश_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 |
इस नीति को किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, |
false | ज़रूरी नहीं |
enabled |
नीति लागू करने के लिए, नीति को बंद करने के लिए, |
सही | ज़रूरी नहीं |
async |
यह एट्रिब्यूट अब काम नहीं करता. |
false | बहिष्कृत |
<DisplayName> एलिमेंट
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name
एट्रिब्यूट का इस्तेमाल करें.
<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट |
लागू नहीं अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के |
---|---|
मौजूदगी | ज़रूरी नहीं |
Type | String |
<AccessToken> एलिमेंट
उस वैरिएबल की पहचान करता है जहां ऐक्सेस टोकन मौजूद है. उदाहरण के लिए, अगर ऐक्सेस टोकन को क्वेरी पैरामीटर के तौर पर
मैसेज का अनुरोध करने के साथ अटैच किया गया है, तो
request.queryparam.access_token
तय करें. आपके पास टोकन के रेफ़रंस वाले किसी भी मान्य वैरिएबल का
इस्तेमाल करने का विकल्प है. इसके अलावा, लिटरल टोकन स्ट्रिंग को पास कर सकता है (बहुत कम केस).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
डिफ़ॉल्ट: | लागू नहीं |
मौजूदगी: | ज़रूरी है |
टाइप: | String |
एट्रिब्यूट
एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
---|---|---|---|
संदर्भ |
ऐक्सेस टोकन वैरिएबल. आम तौर पर, फ़्लो वैरिएबल से लिया जाता है. |
लागू नहीं | ज़रूरी नहीं |
<एट्रिब्यूट> एलिमेंट
ऐक्सेस टोकन प्रोफ़ाइल में मौजूद एट्रिब्यूट का एक सेट, जिसे बदला या जोड़ा जाएगा.
डिफ़ॉल्ट: | लागू नहीं |
मौजूदगी: | ज़रूरी है |
टाइप: | लागू नहीं |
<Attributes>/<एट्रिब्यूट> एलिमेंट
अपडेट किया जाने वाला एट्रिब्यूट.
नाम एट्रिब्यूट, ऐक्सेस टोकन प्रोफ़ाइल की उस कस्टम प्रॉपर्टी की पहचान करता है जिसे अपडेट किया जाना है. इस उदाहरण में, रेफ़र की गई वैरिएबल वैल्यू और स्टैटिक वैल्यू को इस्तेमाल करने का तरीका बताया गया है.
<Attributes> <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute> <Attribute name="foo">bar</Attribute> </Attributes>
डिफ़ॉल्ट: | लागू नहीं |
मौजूदगी: | ज़रूरी नहीं |
टाइप: | लागू नहीं |
एट्रिब्यूट
एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
---|---|---|---|
नाम | जोड़ने या बदलने के लिए प्रोफ़ाइल एट्रिब्यूट का नाम. | लागू नहीं | |
संदर्भ |
प्रोफ़ाइल एट्रिब्यूट को असाइन की जाने वाली वैल्यू. |
लागू नहीं | ज़रूरी नहीं |
फ़्लो वैरिएबल
सफल होने पर, ये फ़्लो वैरिएबल सेट किए जाएंगे:
oauthv2accesstoken.{policyName}.access_token
oauthv2accesstoken.{policyName}.client_id
oauthv2accesstoken.{policyName}.refresh_count
oauthv2accesstoken.{policyName}.organization_name
oauthv2accesstoken.{policyName}.expires_in //--in seconds
oauthv2accesstoken.{policyName}.refresh_token_expires_in //--in seconds
oauthv2accesstoken.{policyName}.issued_at
oauthv2accesstoken.{policyName}.status
oauthv2accesstoken.{policyName}.api_product_list
oauthv2accesstoken.{policyName}.token_type
oauthv2accesstoken.{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>