আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
এই বিভাগে এন্ড ইউজার আইডি, অ্যাপ আইডি, বা উভয়টির মাধ্যমে OAuth 2.0 অ্যাক্সেস টোকেন পুনরুদ্ধার এবং প্রত্যাহার কীভাবে সক্ষম করতে হয় তা বর্ণনা করা হয়েছে। এন্ড ইউজার আইডি বৈশিষ্ট্যটির জন্য বিশেষ সেটআপ প্রয়োজন, যা এই টপিকে বর্ণনা করা হয়েছে। এন্ড ইউজার বলতে আমরা সেই অ্যাপের ব্যবহারকারীকে বোঝাই যিনি এপিআই কল করছেন।
কখন এন্ড ইউজার আইডি অ্যাক্সেস সক্রিয় করতে হবে
কখনও কখনও, অ্যাক্সেস টোকেনে ইউজার আইডি সংরক্ষণ করা দরকারি হতে পারে। এন্ড ইউজার আইডি অ্যাক্সেস ফিচারটি কেবল তখনই সক্রিয় করুন, যখন এর জন্য আপনার কাছে উপযুক্ত ব্যবহারের ক্ষেত্র থাকে। উদাহরণস্বরূপ:
- আপনার ওয়েবসাইট বা অ্যাপের জন্য এমন একটি ফিচার, যার মাধ্যমে ব্যবহারকারীরা দেখতে পারবেন যে তারা কোন কোন থার্ড-পার্টি অ্যাপকে অনুমোদন দিয়েছেন এবং সেই অ্যাপগুলোর অ্যাক্সেস প্রত্যাহার করার সুযোগও পাবেন।
- এমন একটি বৈশিষ্ট্য যা একজন অনুমোদিত ব্যবহারকারীকে একটি নির্দিষ্ট ডেভেলপার অ্যাপের সাথে যুক্ত সমস্ত অ্যাক্সেস টোকেন বাতিল করার সুযোগ দেয়।
OAuth অ্যাক্সেস টোকেন সম্পর্কে
অ্যাপ আইডিগুলো স্বয়ংক্রিয়ভাবে একটি OAuth অ্যাক্সেস টোকেনে যুক্ত হয়ে যায়। তাই, নিচে বর্ণিত পদ্ধতি অনুযায়ী কোনো প্রতিষ্ঠানের জন্য টোকেন অ্যাক্সেস চালু করার পর, আপনি অ্যাপ আইডির মাধ্যমে অ্যাক্সেস টোকেনগুলো প্রত্যাহার করতে পারবেন।
এন্ড ইউজার আইডি দ্বারা OAuth 2.0 অ্যাক্সেস টোকেন পুনরুদ্ধার এবং বাতিল করতে হলে, অ্যাক্সেস টোকেনগুলিতে একটি এন্ড ইউজার আইডি অবশ্যই উপস্থিত থাকতে হবে। নিচের পদ্ধতিতে একটি বিদ্যমান টোকেনে এন্ড ইউজার আইডি যোগ করার প্রক্রিয়া বর্ণনা করা হয়েছে।
ডিফল্টরূপে, Edge যখন একটি OAuth 2.0 অ্যাক্সেস টোকেন তৈরি করে, তখন টোকেনটির ফরম্যাট নিচে দেখানো অনুযায়ী হয়:
{ "issued_at" : "1421847736581", "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a", "scope" : "READ", "status" : "approved", "api_product_list" : "[PremiumWeatherAPI]", "expires_in" : "3599", //--in seconds "developer.email" : "tesla@weathersample.com", "organization_id" : "0", "token_type" : "BearerToken", "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP", "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL", "organization_name" : "myorg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:
- `application_name` ফিল্ডটিতে টোকেনের সাথে যুক্ত অ্যাপটির UUID থাকে। আপনি যদি অ্যাপ আইডি দ্বারা OAuth 2.0 অ্যাক্সেস টোকেন পুনরুদ্ধার এবং বাতিলকরণ সক্ষম করেন, তাহলে এই অ্যাপ আইডিটিই আপনি ব্যবহার করবেন।
- access_token ফিল্ডটিতে OAuth 2.0 অ্যাক্সেস টোকেনের মান থাকে।
ডিফল্ট OAuth অ্যাক্সেস টোকেনে এন্ড ইউজার আইডির জন্য কোনো ফিল্ড নেই। এন্ড ইউজার আইডি দ্বারা OAuth 2.0 অ্যাক্সেস টোকেন পুনরুদ্ধার এবং বাতিল করা সক্ষম করতে, আপনাকে টোকেনে ইউজার আইডি অন্তর্ভুক্ত করার জন্য OAuth 2.0 পলিসি কনফিগার করতে হবে, যেমনটি নিচের পদ্ধতিতে বর্ণনা করা হয়েছে। মনে রাখবেন যে, আপনি যদি শুধুমাত্র অ্যাপ আইডি দ্বারা OAuth 2.0 অ্যাক্সেস টোকেন পুনরুদ্ধার এবং বাতিল করতে চান, তাহলে এন্ড ইউজার আইডি দ্বারা অ্যাক্সেস সক্ষম করার কোনো প্রয়োজন নেই।
আপনি টোকেন তৈরির এন্ডপয়েন্টে এন্ড ইউজার আইডি পাস করেন। আপনি এন্ড ইউজারের আইডি একটি কোয়েরি প্যারামিটার, ফর্ম প্যারামিটার, বা হেডারে পাস করতে পারেন (যেমনটি এই টপিকে পরে ব্যাখ্যা করা হয়েছে)। টোকেনে এন্ড ইউজার আইডি অন্তর্ভুক্ত করার জন্য আপনি Edge কনফিগার করার পরে, এটি app_enduser ফিল্ড হিসাবে অন্তর্ভুক্ত হয়, যেমনটি নীচে দেখানো হয়েছে:
{ "issued_at" : "1421847736581", "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a", "scope" : "READ", "app_enduser" : "6ZG094fgnjNf02EK", "status" : "approved", "api_product_list" : "[PremiumWeatherAPI]", "expires_in" : "3599", //--in seconds "developer.email" : "tesla@weathersample.com", "organization_id" : "0", "token_type" : "BearerToken", "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP", "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL", "organization_name" : "myorg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
এই ডেটা পুনরুদ্ধার এবং প্রত্যাহার করার জন্য প্রয়োজনীয় এপিআই কলগুলো কীভাবে করতে হয়, তা জানতে নিম্নলিখিত স্মার্ট ডক্সগুলো দেখুন:
- ব্যবহারকারী বা অ্যাপ আইডি দ্বারা OAuth2 অ্যাক্সেস টোকেন প্রত্যাহার করুন
- এন্ড ইউজার বা অ্যাপ আইডি দ্বারা OAuth2 অ্যাক্সেস টোকেন পান
ব্যবহারকারী আইডি এবং অ্যাপ আইডি দ্বারা OAuth 2.0 টোকেন অ্যাক্সেস সক্ষম করা
আপনি Edge কীভাবে স্থাপন করেছেন তার উপর নির্ভর করে ইউজার আইডি এবং অ্যাপ আইডি দ্বারা OAuth 2.0 টোকেনে অ্যাক্সেস সক্ষম করবেন।
ক্লাউড-ভিত্তিক স্থাপন
Edge-এর ক্লাউড-ভিত্তিক ডেপ্লয়মেন্টের অর্থ হলো, এর বেশিরভাগ কনফিগারেশন Apigee দ্বারা পরিচালিত হয়। আপনাকে শুধুমাত্র অ্যাক্সেস টোকেনে ইউজার আইডি যোগ করার জন্য OAuth 2.0 পলিসি কনফিগার করতে হবে। আরও বিস্তারিত জানতে, নিচের কার্যপ্রণালী দেখুন।
প্রাইভেট ক্লাউড স্থাপনের জন্য এজ
Apigee Edge for Private Cloud (on-premises)-এ কনফিগারেশনের সম্পূর্ণ দায়িত্ব আপনার। আরও জানতে, অপারেশনস অ্যান্ড কনফিগারেশন (Operations and Configuration) দেখুন।
অ্যাপিজি হাইব্রিড
ইউজার আইডি দ্বারা OAuth 2.0 টোকেন অ্যাক্সেস ডিফল্টরূপে সক্রিয় থাকে। অ্যাক্সেস টোকেনে ইউজার আইডি যোগ করার জন্য আপনাকে শুধুমাত্র OAuth 2.0 পলিসি কনফিগার করতে হবে। আরও জানতে, নিচের পদ্ধতির ধাপ ৫ দেখুন।
ক্লাউডে অ্যাক্সেস সক্ষম করা
ধাপ ১: এই বৈশিষ্ট্যটি সমর্থন করার জন্য একটি সংস্থাকে সক্ষম করুন।
যেসব অর্গ-এ আপনি এই ফিচারটি সমর্থন করতে চান, সেগুলোর প্রতিটির জন্য এটি সক্রিয় করতে হবে।
আপনার অর্গ আপডেট করার জন্য Apigee Edge Support-এর সাথে যোগাযোগ করুন।
ধাপ ২: opsadmin এবং orgadmin রোলগুলোকে oauth2 রিসোর্স পারমিশন প্রদান করুন।
শুধুমাত্র আপনার orgadmin এবং opsadmin রোলগুলোকেই এন্ড ইউজার আইডি বা অ্যাপ আইডির উপর ভিত্তি করে oauth2 রিসোর্সে এই রিট্রিভ ( get ) এবং রিভোক ( put ) কলগুলো করার অনুমতি দেওয়া উচিত।
oauth2 রিসোর্সটির জন্য কোন কোন রোলের get এবং put পারমিশন আছে তা দেখতে, আপনি Get Permission for a Resource API কলটি ব্যবহার করতে পারেন।
আপনার যদি কোনো অনুমতি যোগ বা অপসারণ করার প্রয়োজন হয়, তাহলে আপডেটগুলো সম্পন্ন করার জন্য Apigee Edge Support-এর সাথে যোগাযোগ করুন।
ধাপ ৩: বিদ্যমান OAuth 2.0 অ্যাক্সেস টোকেনগুলো আপনার ক্যাসান্ড্রা নোডগুলোতে কপি করুন।
Apigee সাপোর্ট দ্বারা সম্পাদিত : এই টাস্কে, প্রভাবিত অর্গগুলিতে থাকা বিদ্যমান OAuth 2.0 অ্যাক্সেস টোকেনগুলির কপি আপনার ক্যাসান্ড্রা নোডগুলিতে কপি করে সংরক্ষণ করা হবে। এই প্রক্রিয়াটি আপনার প্রতিটি Apigee Edge পডের ক্যাসান্ড্রা নোডগুলিতে সম্পন্ন করা হবে। এর ফলে আপনার সমস্ত বিদ্যমান এবং নতুন তৈরি হওয়া OAuth 2.0 অ্যাক্সেস টোকেনের বিপরীতে retrieve এবং revoke API কলগুলি চালানো যাবে।
ধাপ ৪: এন্ড ইউজার আইডি অন্তর্ভুক্ত অ্যাক্সেস টোকেন তৈরি করার জন্য একটি OAuth 2.0 পলিসি কনফিগার করুন।
অ্যাক্সেস টোকেন তৈরি করতে ব্যবহৃত OAuth 2.0 পলিসিটি এমনভাবে কনফিগার করুন যাতে টোকেনে এন্ড ইউজার আইডি অন্তর্ভুক্ত থাকে। অ্যাক্সেস টোকেনে এন্ড ইউজার আইডি অন্তর্ভুক্ত করার মাধ্যমে, আপনি এন্ড ইউজার আইডি ব্যবহার করে টোকেন পুনরুদ্ধার এবং বাতিল করতে পারবেন।
অ্যাক্সেস টোকেনে এন্ড ইউজার আইডি অন্তর্ভুক্ত করার জন্য পলিসিটি কনফিগার করতে, আপনাকে অবশ্যই সেই ইনপুট ভেরিয়েবলটি নির্দিষ্ট করতে হবে যেটিতে এন্ড ইউজার আইডিটি থাকে। ভেরিয়েবলটি নির্দিষ্ট করতে <AppEndUser> ট্যাগটি ব্যবহার করুন।
নিচের GenerateAccessTokenClient নামের OAuth 2.0 পলিসিটি একটি OAuth 2.0 অ্যাক্সেস টোকেন তৈরি করে। বোল্ড অক্ষরে লেখা <AppEndUser> ট্যাগটির সংযোজন লক্ষ্য করুন:
<OAuthV2 async="false" continueOnError="false" enabled="true" name="GenerateAccessTokenClient"> <DisplayName>OAuth 2.0.0 1</DisplayName> <ExternalAuthorization>false</ExternalAuthorization> <Operation>GenerateAccessToken</Operation> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> <GrantType>request.queryparam.grant_type</GrantType> <AppEndUser>request.header.appuserID</AppEndUser> <ExpiresIn>960000</ExpiresIn> </OAuthV2>
এরপর আপনি appuserID হেডার হিসেবে ইউজার আইডি পাস করে নিম্নলিখিত cURL কমান্ডটি ব্যবহার করে OAuth 2.0 অ্যাক্সেস টোকেন তৈরি করতে পারেন:
curl -H "appuserID:6ZG094fgnjNf02EK" / https://myorg-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials / -X POST / -d 'client_id=k3nJyFJIA3p62TKIkLO6OJNi87GYXFmP&client_secret=gk58jK5lIp943AY4'
এই উদাহরণে, অ্যাপইউজারআইডি (appuserID) একটি রিকোয়েস্ট হেডার হিসেবে পাঠানো হয়েছে। আপনি একটি রিকোয়েস্টের অংশ হিসেবে বিভিন্ন উপায়ে তথ্য পাঠাতে পারেন। উদাহরণস্বরূপ, একটি বিকল্প হিসেবে, আপনি করতে পারেন:
- ফর্ম প্যারামিটার ভেরিয়েবল ব্যবহার করুন: request.formparam.appuserID
- এন্ড ইউজার আইডি প্রদান করে একটি ফ্লো ভেরিয়েবল ব্যবহার করুন।