OAuth फ़्लो वैरिएबल

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

Apigee Edge, नीतियों के एक सेट में OAuth 1.0a और OAuth 2 क्षमताओं को इनकैप्सुलेट करता है. आपकी बैकएंड सेवाओं के लिए, Apigee Edge, टोकन और सीक्रेट मैनेज करता है. इसमें टोकन जनरेट करना, पुष्टि करना, और स्टोरेज शामिल है.

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

OAuth 2.0 फ़्लो वैरिएबल

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

ऐक्सेस टोकन की नीति की पुष्टि करें
  • organization_name
  • organization_name
  • developer.id
  • developer.app.name
  • client_id
  • grant_type
  • token_type
  • access_token
  • accesstoken.{custom_attribute}
  • issued_at
  • expires_in
  • status
  • scope
  • apiproduct.name*
  • apiproduct.<custom_attribute_name>*

* एपीआई प्रॉडक्ट वैरिएबल

नीति का नमूना:

<OAuthV2 name="VerifyAccessToken">
    <Operation>VerifyAccessToken</Operation>
    <Scope>space-separated-scopes</Scope>*
    <AccessToken>flow.variable</AccessToken>*        
    <AccessTokenPrefix>Bearer</AccessTokenPrefix>*
</OAuthV2>

सिर्फ़ बेयर टोकन का इस्तेमाल किया जा सकता है. MAC टोकन इस्तेमाल नहीं किए जा सकते.

डिफ़ॉल्ट रूप से, ऐक्सेस टोकन को ऑथराइज़ेशन एचटीटीपी अनुरोध के हेडर में पास किया जाना चाहिए.

उदाहरण के लिए:

"Authorization: Bearer {PlainText_AccessToken}"

किसी भी flow.variable को इस तरह पास किया जा सकता है:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

अगर वैकल्पिक फ़ील्ड के बारे में नहीं बताया गया है, तो वैल्यू को OAuth 2.0 स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.

ऑथराइज़ेशन कोड नीति जनरेट करें
सफलता के हिसाब से सेट किए गए वैरिएबल:
  • oauthv2authcode.{policy_name}.code
  • oauthv2authcode.{policy_name}.redirect_uri
  • oauthv2authcode.{policy_name}.scope
  • oauthv2authcode.{policy_name}.client_id

नीति का नमूना:

<OAuthV2 name="GetAuthCode">
  <Operation>GenerateAuthorizationCode</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <ResponseType>flow.variable</ResponseType>*
  <ClientId>flow.variable</ClientId>*
  <RedirectUri>flow.variable</RedirectUri>*
  <Scope>flow.variable</Scope>*
  <State>flow.variable</State>*
  <Attributes>*   
    <Attribute name=”1” ref=”flow.variable”>value1</Attribute>
    <Attribute name=”2” ref=”flow.variable”>value2</Attribute>
  </Attributes>
</OAuthV2>

* ज़रूरी नहीं

किसी भी flow.variable को इस तरह पास किया जा सकता है:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

अगर वैकल्पिक फ़ील्ड के बारे में नहीं बताया गया है, तो वैल्यू को OAuth 2.0 स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.

एट्रिब्यूट की वैल्यू, तय किए गए फ़्लो वैरिएबल से डाइनैमिक तौर पर या नीति में तय की गई डिफ़ॉल्ट वैल्यू का इस्तेमाल करके स्टैटिक की जाती हैं.

अगर दोनों तय किए जाते हैं, तो फ़्लो वैरिएबल को प्राथमिकता दी जाती है.

दिए जाने वाले टाइप के ऑथराइज़ेशन कोड, उपयोगकर्ता के क्रेडेंशियल, और क्लाइंट क्रेडेंशियल के लिए, ऐक्सेस टोकन की नीति जनरेट करें
सफलता के हिसाब से सेट किए गए वैरिएबल:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

नीति का नमूना:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <SupportedGrantTypes>*
    <GrantType>authorization_code</GrantType>
    <GrantType>password</GrantType>
   <GrantType>client_credentials</GrantType>
  </SupportedGrantTypes>
  <GrantType>flow.variable</GrantType>* 
  <ClientId>flow.variable</ClientId>* 
  <RedirectUri>flow.variable</RedirectUri>* 
  <Scope>flow.variable</Scope>* 
  <AppEndUser>flow.variable</AppEndUser>* 
  <Code>flow.variable</Code>* 
  <UserName>flow.variable</UserName>* 
  <PassWord>flow.variable</PassWord>*
  <Attributes>*
    <Attribute name=”1” ref=”flow.variable”>value1</Attribute> 
    <Attribute name=”2” ref=”flow.variable”>value2</Attribute>  
  </Attributes>
</OAuthV2>

* ज़रूरी नहीं

किसी भी flow.variable को इस तरह पास किया जा सकता है:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

अगर वैकल्पिक फ़ील्ड के बारे में नहीं बताया गया है, तो वैल्यू को OAuth 2.0 स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.

एट्रिब्यूट की वैल्यू, तय किए गए फ़्लो वैरिएबल से डाइनैमिक तौर पर या नीति में तय की गई डिफ़ॉल्ट वैल्यू का इस्तेमाल करके स्टैटिक की जाती हैं.

अगर दोनों तय किए जाते हैं, तो फ़्लो वैरिएबल को प्राथमिकता दी जाती है.

इंप्लिसिट ग्रांट टाइप के लिए, ऐक्सेस टोकन की नीति जनरेट करें
सफलता के हिसाब से सेट किए गए वैरिएबल:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

नीति का नमूना:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessTokenImplicitGrant</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <ResponseType>flow.variable></ResponseType>*
  <ClientId>flow.variable></ClientId>*
  <RedirectUri>flow.variable></RedirectUri>*
  <Scope>flow.variable></Scope>*
  <State>flow.variable></State>*
  <AppEndUser>flow.variable</AppEndUser>*                                   
  <Attributes>*
    <Attribute name=”1” ref=”flow.variable”>value1</Attribute>
    <Attribute name=”2” ref=”flow.variable”>value2</Attribute>
  </Attributes>
</OAuthV2>

* ज़रूरी नहीं

किसी भी flow.variable को इस तरह पास किया जा सकता है:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

अगर वैकल्पिक फ़ील्ड के बारे में नहीं बताया गया है, तो वैल्यू को OAuth 2.0 स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.

एट्रिब्यूट की वैल्यू, तय किए गए फ़्लो वैरिएबल से डाइनैमिक तौर पर या नीति में तय की गई डिफ़ॉल्ट वैल्यू का इस्तेमाल करके स्टैटिक की जाती हैं.

अगर दोनों तय किए जाते हैं, तो फ़्लो वैरिएबल को प्राथमिकता दी जाती है.

ऐक्सेस टोकन से जुड़ी नीति को रीफ़्रेश करें
सफलता के हिसाब से सेट किए गए वैरिएबल:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

नीति का नमूना:

<OAuthV2 name="RefreshAccessToken">
  <Operation>RefreshAccessToken</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <GrantType>flow.variable</GrantType>*
  <RefreshToken>flow.variable</RefreshToken>*
</OAuthV2>

* ज़रूरी नहीं

किसी भी flow.variable को इस तरह पास किया जा सकता है:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

अगर वैकल्पिक फ़ील्ड के बारे में नहीं बताया गया है, तो वैल्यू को OAuth 2.0 स्पेसिफ़िकेशन के हिसाब से तय किया जाता है.

क्लाइंट के एट्रिब्यूट से जुड़ी नीति पाएं

नीति का नमूना:

<GetOAuthV2Info name="GetClientAttributes">
<ClientId ref="{variable_name}"/>
</GetOAuthV2Info>

नीति का नमूना:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
ऐक्सेस टोकन के एट्रिब्यूट से जुड़ी नीति पाएं
सफलता के हिसाब से सेट किए गए वैरिएबल:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.scope
  • oauthv2accesstoken.{policy_name}.refresh_token
  • oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}
  • oauthv2accesstoken.{policy_name}.developer.id
  • oauthv2accesstoken.{policy_name}.developer.app.name
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.status

नीति का नमूना:

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken ref="{variable_name}"/>
</GetOAuthV2Info>

नीति का नमूना:

<GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info>
ऑथराइज़ेशन कोड एट्रिब्यूट की नीति पाएं

नीति का नमूना:

<GetOAuthV2Info name="GetAuthCodeAttributes">
 <AuthorizationCode ref="{variable_name}"/>
</GetOAuthV2Info>

नीति का नमूना:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
रीफ़्रेश टोकन के एट्रिब्यूट से जुड़ी नीति पाएं

नीति का नमूना:

<GetOAuthV2Info name="GetTokenAttributes">
  <RefreshToken ref="{variable_name}"/>
</GetOAuthV2Info>

नीति का नमूना:

<GetOAuthV2Info name="GetTokenAttributes">
    <RefreshToken>{refresh_token}</RefreshToken>
</GetOAuthV2Info>

OAuth 1.0a फ़्लो वैरिएबल

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

टोकन के लिए अनुरोध से जुड़ी नीति जनरेट करें

नीति का नमूना:

<OAuthV1 name="GenerateRequestToken">
  <Operation>GenerateRequestToken</Operation>
</OAuthV1>

सफलता पर सेट किए गए वैरिएबल:

  • oauth_token
  • oauth_token_secret
  • oauth_callback_confirmed
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

ऐक्सेस टोकन से जुड़ी नीति जनरेट करें

नीति का नमूना:

<OAuthV1 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
</OAuthV1>

सफलता पर सेट किए गए वैरिएबल:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

ऐक्सेस टोकन की पुष्टि करने से जुड़ी नीति

नीति का नमूना:

<OAuthV1 name="VerifyAccessToken">
  <Operation>VerifyAccessToken</Operation>
</OAuthV1>

सफलता पर सेट किए गए वैरिएबल:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

एपीआई पासकोड से जुड़ी नीति की पुष्टि करें

नीति का नमूना:

<GetOAuthV1Info name="VerifyApiKey">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <APIKey ref="{variable_name}" />
</GetOAuthV1Info>

* ज़रूरी नहीं

सफलता पर सेट किए गए वैरिएबल:

  • oauth_consumer_key
  • oauth_consumer_secret

उपभोक्ता नीति की पुष्टि करें

नीति का नमूना:

<GetOAuthV1Info name="VerifyConsumer">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <ConsumerKey ref="{variable_name}" />
</GetOAuthV1Info>

* ज़रूरी नहीं

सफलता पर सेट किए गए वैरिएबल:

  • oauth_consumer_key
  • oauth_consumer_secret

टोकन नीति की पुष्टि करें

नीति का नमूना:

<GetOAuthV1Info name="VerifyToken">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <RequestToken ref="{variable_name}" />
</GetOAuthV1Info>

* ज़रूरी नहीं

सफलता पर सेट किए गए वैरिएबल:

  • oauth_token
  • oauth_token_secret