टोकन और ऑथराइज़ेशन कोड को पसंद के मुताबिक बनाना

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

टोकन मेटाडेटा के बारे में जानकारी

Apigee Edge, OAuth ऐक्सेस टोकन, रीफ़्रेश टोकन, और ऑथराइज़ेशन कोड जनरेट करता है. उन्हें पुष्टि किए गए ऐप्लिकेशन में भेजता है. जनरेशन के समय में Edge पर ये टोकन और कोड सेव किए जाते हैं. बाद में, जब Edge को इन टोकन या कोड वाले इनबाउंड एपीआई अनुरोध मिलते हैं, तो Edge सेव की गई जानकारी की मदद से, अनुरोध स्वीकार करने की अनुमति दें.

जब Edge इन OAuth आर्टफ़ैक्ट को जनरेट करता है, तब यह टोकन या कोड में मेटाडेटा भी जोड़ देता है. इसके लिए उदाहरण के लिए, ऐक्सेस टोकन, नाम/वैल्यू पेयर से जुड़ा होता है. इसमें, खत्म होने की तारीख तय की जाती है, साथ ही, अन्य जानकारी.

Edge ऐक्सेस टोकन का JSON फ़ॉर्मैट, इस तरह दिखता है:

{
  "issued_at" : "1372170159093",
  "application_name" : "ccd1803b-b557-4520-bd62-ddd3abf8e501",
  "scope" : "READ",
  "status" : "approved",
  "api_product_list" : "[Product1,Product2]",
  "api_product_list_json" : ["Product1", "Product2"],
  "expires_in" : "3599", //--in seconds
  "developer.email" : "joe@weathersample.com",
  "organization_id" : "0",
  "refresh_token" : "82XMXgDyHTpFyXOaApj8C2AGIPnN2IZe",
  "client_id" : "deAVedE0W9Z9U35PAMaAJYphBJCGdrND",
  "access_token" : "shTUmeI1geSKin0TODcGLXBNe9vp",
  "organization_name" : "apifactory",
  "refresh_count" : "0"
}

OAuth टोकन में कस्टम एट्रिब्यूट जोड़ना

कभी-कभी ऐक्सेस टोकन में कस्टम मेटाडेटा जोड़ना बहुत मददगार होता है. उदाहरण के लिए, उपयोगकर्ता नाम, ग्रुप की सदस्यताएं या उपयोगकर्ता की भूमिकाएं, ग्राहक आईडी, सेशन आइडेंटिफ़ायर जोड़ने के लिए या किसी टोकन के लिए अन्य आर्बिट्रेरी जानकारी. Apigee Edge में, इन डेटा को "custom एट्रिब्यूट." बाद में, जब एपीआई अनुरोध के दायरे में टोकन की पुष्टि की जाती है, तो डेटा को कॉन्टेक्स्ट वैरिएबल के ज़रिए एपीआई प्रॉक्सी को उपलब्ध कराया जाता है. एपीआई प्रॉक्सी हम आपसे जुड़े हुए कस्टम डेटा के आधार पर टोकन.

किसी टोकन में आर्बिट्रेरी डेटा अटैच करने के लिए, <Attributes> एलिमेंट का इस्तेमाल करें OAuthV2 नीति. आप कस्टम एट्रिब्यूट का नाम और इस्तेमाल की जाने वाली वैल्यू तय करें. उदाहरण के लिए, यहां नीति का कॉन्फ़िगरेशन, जो टोकन जनरेट करता है. साथ ही, "tenant_list" नाम का एक कस्टम एट्रिब्यूट अटैच करता है टोकन को अपडेट करने के लिए:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
  <ExpiresIn>600000</ExpiresIn>
  <GenerateResponse />
  <SupportedGrantTypes>
    <GrantType>client_credentials</GrantType>
  </SupportedGrantTypes>
  <GrantType>request.queryparam.grant_type</GrantType>
  <Attributes> 
    <Attribute name="tenant_list" ref="tenant_list_retrieved_from_external_service" display="false"/>
  </Attributes>
</OAuthV2>

आपके पास एक से ज़्यादा कस्टम एट्रिब्यूट तय करने का विकल्प है. साथ ही, उन्हें किसी भी एक एट्रिब्यूट के साथ अटैच किया जा सकता है ऑथराइज़ेशन कोड (<Operation>GenerateAuthorizationCode</Operation>) या के समय में एक टोकन (<Operation>GenerateAccessToken</Operation>) जेनरेशन.

जब display को true (डिफ़ॉल्ट) पर सेट किया जाता है, तो कस्टम एट्रिब्यूट रिस्पॉन्स में मिले. इन्हें ऐप्लिकेशन में देखा जा सकता हो या असली उपयोगकर्ता को भेजा जा सकता हो. जब display को false पर सेट किया जाता है, तो कस्टम एट्रिब्यूट डेटा में सेव हो जाते हैं स्टोर करता है, लेकिन जवाब में लौटाए नहीं जाते. दोनों ही मामलों में, कस्टम डेटा उपलब्ध होता है टोकन की पुष्टि होने के बाद, एपीआई प्रॉक्सी की नीतियों में बदलाव कर सकता है.

display विकल्प के बारे में ज़्यादा जानकारी के लिए जवाब में कस्टम एट्रिब्यूट को दिखाना या छिपाना.

रनटाइम पर कस्टम एट्रिब्यूट पाना

OAuthV2/VerifyAccessToken पर कॉल करने पर, Apigee Edge, टोकन स्टोर में खोजकर टोकन की पुष्टि करता है. इसके बाद, Apigee Edge संदर्भ वैरिएबल का सेट होता है, जिसमें टोकन के बारे में जानकारी होती है. इनमें शामिल हैं:

  • organization_name
  • developer.id
  • developer.app.name
  • client_id
  • grant_type
  • token_type
  • access_token
  • issued_at
  • समयसीमा खत्म होने की तारीख: //--सेकंड में
  • स्थिति
  • दायरा
  • apiproduct.name*

अगर टोकन पर कोई कस्टम एट्रिब्यूट है, तो वे कस्टम एट्रिब्यूट यहां उपलब्ध कराए जाते हैं accesstoken.{custom_attribute} नाम का एक कॉन्टेक्स्ट वैरिएबल. उदाहरण के लिए, मान लें कि ऊपर दी गई नीति से एक टोकन जारी किया गया है. ऐसे टोकन की पुष्टि करने के बाद, accesstoken.tenant_list नाम का एक अतिरिक्त संदर्भ वैरिएबल होना चाहिए, जिसमें वह वैल्यू जो टोकन जनरेट करने के समय सेव की गई थी.

इसके बाद, नीतियां या शर्तें इन वैरिएबल के हिसाब से काम कर सकती हैं और इनके आधार पर व्यवहार में बदलाव कर सकती हैं: में स्टोर किए गए मान.

यहां कस्टम एट्रिब्यूट सेट और अपडेट किए जा सकते हैं रनटाइम

कुछ परिस्थितियों में, आप अपने एपीआई प्रॉक्सी को Apigee Edge पर, एपीआई कॉल प्रोसेस होने के दौरान, रनटाइम पर ऐक्सेस टोकन. इसमें मदद करने के लिए, Apigee, टोकन एट्रिब्यूट पाने और उन्हें सेट करने के लिए नीतियां उपलब्ध कराता है. ज़्यादा जानकारी के लिए, यह देखें OAuth V2 की जानकारी पाएं नीति और OAuth सेट करें वर्शन 2 की जानकारी से जुड़ी नीति.

इनमें से हर नीति में, AccessToken एलिमेंट को ऐसा वैरिएबल दिखाना चाहिए जो में ऐक्सेस टोकन होता है.

टोकन से जुड़े कस्टम एट्रिब्यूट को अपडेट करने के लिए, Edge API का भी इस्तेमाल किया जा सकता है. एपीआई देखें अपडेट का दस्तावेज़ OAuth 2.0 ऐक्सेस टोकन का तरीका.