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

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

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

* এপিআই পণ্যের ভেরিয়েবল

নমুনা নীতিমালা:

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

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

ডিফল্টরূপে, অ্যাক্সেস টোকেনটি অবশ্যই Authorization 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

এপিআই কী নীতি যাচাই করুন

নমুনা নীতিমালা:

<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