setOAuthV2Info नीति

आपको 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

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

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

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

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

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

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

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

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

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

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

गलत बहिष्कृत

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

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

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

लागू नहीं

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

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

<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_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>

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