OAuth ফ্লো ভেরিয়েবল

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

Apigee Edge নীতিগুলির একটি সেটে OAuth 1.0a এবং OAuth 2 ক্ষমতাগুলিকে এনক্যাপসুলেট করে৷ প্রজন্ম, বৈধতা এবং সঞ্চয়স্থান সহ টোকেন এবং গোপনীয়তার জীবনচক্র ব্যবস্থাপনা, আপনার ব্যাকএন্ড পরিষেবাগুলির পক্ষ থেকে Apigee Edge দ্বারা পরিচালিত হয়।

এই নথিটি OAuth নীতি দ্বারা সংজ্ঞায়িত ফ্লো ভেরিয়েবলগুলিকে নির্দিষ্ট করে৷ ভেরিয়েবলগুলি OAuth প্রবাহের জন্য কাস্টম আচরণ বাস্তবায়ন করতে ব্যবহার করা যেতে পারে। OAuth ব্যবহারের জন্য, OAuth দেখুন।

OAuth 2.0 ফ্লো ভেরিয়েবল

এই সারণীতে সংজ্ঞায়িত ফ্লো ভেরিয়েবলগুলি যখন সংশ্লিষ্ট OAuth নীতিগুলি কার্যকর করা হয় তখন পপুলেট হয়, এবং তাই API প্রক্সি ফ্লোতে কার্যকর করা অন্যান্য নীতি বা অ্যাপ্লিকেশনগুলির জন্য উপলব্ধ৷

অ্যাক্সেস টোকেন নীতি যাচাই করুন
  • 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>*

* API পণ্য ভেরিয়েবল

নমুনা নীতি:

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

শুধুমাত্র বহনকারী টোকেন সমর্থিত। MAC টোকেন সমর্থিত নয়।

ডিফল্টরূপে, অনুমোদন HTTP অনুরোধ শিরোনামে অ্যাক্সেস টোকেন পাস করা আবশ্যক।

যেমন:

"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 নীতিগুলি কার্যকর করা হয় তখন পপুলেট হয়, এবং তাই API প্রক্সি ফ্লোতে কার্যকর করা অন্যান্য নীতি বা অ্যাপ্লিকেশনগুলির জন্য উপলব্ধ৷

অনুরোধ টোকেন নীতি তৈরি করুন

নমুনা নীতি:

<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

API কী নীতি যাচাই করুন

নমুনা নীতি:

<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