টোকেন এবং অনুমোদন কোড কাস্টমাইজ করা

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

টোকেন মেটাডেটা সম্পর্কে

Apigee Edge OAuth অ্যাক্সেস টোকেন, রিফ্রেশ টোকেন এবং অনুমোদন কোড তৈরি করে এবং সেগুলিকে প্রমাণীকৃত অ্যাপগুলিতে বিতরণ করে। প্রজন্মের সময়, এজ সেই টোকেন এবং কোডগুলি সংরক্ষণ করে। পরবর্তীতে, যখন এজ এই টোকেন বা কোডগুলি সহ অন্তর্মুখী API অনুরোধগুলি গ্রহণ করে, তখন এজ অনুরোধগুলি অনুমোদন করতে সঞ্চিত তথ্য ব্যবহার করে।

যখন এজ এই OAuth আর্টিফ্যাক্টগুলি তৈরি করে, তখন এটি টোকেন বা কোডের সাথে মেটাডেটাও সংযুক্ত করে। উদাহরণস্বরূপ, একটি অ্যাক্সেস টোকেন নাম/মান জোড়ার সাথে যুক্ত থাকে যা মেয়াদ শেষ হওয়ার সময়, সংশ্লিষ্ট অ্যাপ এবং ডেভেলপার এবং অন্যান্য তথ্য নির্ধারণ করে।

একটি এজ অ্যাক্সেস টোকেনের 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-এ, এই ডেটাগুলোকে "কাস্টম অ্যাট্রিবিউট" বলা হয়। পরবর্তীকালে, যখন একটি API অনুরোধের সুযোগের মধ্যে টোকেন যাচাই করা হয়, তখন সেই ডেটা প্রসঙ্গ ভেরিয়েবলের মাধ্যমে API প্রক্সিতে উপলব্ধ করা হয়। একটি API প্রক্সি টোকেনের সাথে সংযুক্ত কাস্টম ডেটার উপর ভিত্তি করে সূক্ষ্ম অনুমোদন বা রাউটিং সিদ্ধান্ত নিতে পারে।

একটি টোকেনে নির্বিচারে ডেটা সংযুক্ত করতে, OAuthV2 নীতিতে <Attributes> উপাদানটি ব্যবহার করুন। আপনি কাস্টম অ্যাট্রিবিউটের নাম এবং এটির মান উল্লেখ করতে পারেন। উদাহরণস্বরূপ, এখানে একটি নীতি কনফিগারেশন রয়েছে যা একটি টোকেন তৈরি করে এবং টোকেনের সাথে "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 সেট করা হলে, কাস্টম বৈশিষ্ট্যগুলি ডেটা স্টোরে সংরক্ষণ করা হয়, কিন্তু প্রতিক্রিয়া বার্তায় ফেরত দেওয়া হয় না। উভয় ক্ষেত্রেই, টোকেন যাচাই করার পরে, API প্রক্সির মধ্যে নীতিগুলিতে কাস্টম ডেটা উপলব্ধ।

display বিকল্প সম্পর্কে আরও তথ্যের জন্য প্রতিক্রিয়াতে কাস্টম বৈশিষ্ট্যগুলি প্রদর্শন করা বা লুকানো

রানটাইমে কাস্টম অ্যাট্রিবিউট পাওয়া

যখন OAuthV2/VerifyAccessToken এ একটি কল আসে, Apigee Edge টোকেনটিকে টোকেন স্টোরে দেখে তা যাচাই করে। Apigee Edge তারপর টোকেন সম্পর্কে তথ্য সম্বলিত প্রসঙ্গ ভেরিয়েবলের একটি সেট পপুলেট করে। এর মধ্যে রয়েছে:

  • সংগঠনের_নাম
  • বিকাশকারী.আইডি
  • বিকাশকারী.অ্যাপ.নাম
  • ক্লায়েন্ট_আইডি
  • অনুদান_প্রকার
  • টোকেন_টাইপ
  • অ্যাক্সেস_টোকেন
  • জারি করা_এটি
  • মেয়াদ শেষ হয় //-সেকেন্ডে
  • অবস্থা
  • সুযোগ
  • apiproduct.name*

যদি টোকেনে কোনো কাস্টম অ্যাট্রিবিউট থাকে, তাহলে সেই কাস্টম অ্যাট্রিবিউটগুলি accesstoken.{custom_attribute} । উদাহরণস্বরূপ, ধরুন উপরে দেখানো নীতি থেকে একটি টোকেন জারি করা হয়েছে। এই ধরনের একটি টোকেন যাচাই করার পরে, accesstoken.tenant_list নামে একটি অতিরিক্ত প্রসঙ্গ ভেরিয়েবল থাকবে, যেখানে টোকেন তৈরির সময় সংরক্ষিত মান থাকবে।

নীতি বা শর্তগুলি তারপর এই ভেরিয়েবলগুলিকে উল্লেখ করতে পারে এবং এর মধ্যে সঞ্চিত মানগুলির উপর ভিত্তি করে আচরণ পরিবর্তন করতে পারে।

রানটাইমে কাস্টম অ্যাট্রিবিউট সেট করা এবং আপডেট করা

কিছু পরিস্থিতিতে, আপনি আপনার API প্রক্সিকে রানটাইমে একটি অ্যাক্সেস টোকেনের সাথে সম্পর্কিত মেটাডেটা আপডেট করতে চাইবেন যখন Apigee এজে একটি API কল প্রক্রিয়া করা হচ্ছে। এটিতে সহায়তা করার জন্য, Apigee টোকেন বৈশিষ্ট্যগুলি পেতে এবং সেট করার জন্য নীতি প্রদান করে। আরও তথ্যের জন্য, OAuth V2 তথ্য নীতি দেখুন এবং OAuth V2 তথ্য নীতি সেট করুন

এই প্রতিটি নীতিতে, AccessToken উপাদানটি এমন একটি ভেরিয়েবলকে উল্লেখ করা উচিত যাতে অ্যাক্সেস টোকেন রয়েছে।

আপনি একটি টোকেনের সাথে সংযুক্ত কাস্টম বৈশিষ্ট্য আপডেট করতে এজ এপিআই ব্যবহার করতে পারেন। আপডেট OAuth 2.0 অ্যাক্সেস টোকেন পদ্ধতির জন্য API ডকুমেন্টেশন দেখুন।