আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
আপনি যা শিখবেন
- একটি নমুনা এপিআই প্রক্সি ডাউনলোড ও স্থাপন করুন।
- একটি OAuth-সুরক্ষিত এপিআই প্রক্সি তৈরি করুন।
- একটি পণ্য, ডেভেলপার এবং অ্যাপ তৈরি করুন।
- OAuth অ্যাক্সেস টোকেনের জন্য ক্রেডেনশিয়াল বিনিময় করুন।
- অ্যাক্সেস টোকেন ব্যবহার করে একটি এপিআই কল করুন।
এই টিউটোরিয়ালে দেখানো হয়েছে কীভাবে OAuth 2.0 ব্যবহার করে একটি API সুরক্ষিত করতে হয়।
OAuth হলো একটি অনুমোদন প্রোটোকল যা অ্যাপগুলোকে ব্যবহারকারীদের ইউজারনেম এবং পাসওয়ার্ড প্রকাশ করার প্রয়োজন ছাড়াই তাদের পক্ষ থেকে তথ্য অ্যাক্সেস করতে সক্ষম করে।
OAuth-এর মাধ্যমে, নিরাপত্তা সংক্রান্ত তথ্য (যেমন ইউজারনেম/পাসওয়ার্ড অথবা কী/সিক্রেট) একটি অ্যাক্সেস টোকেনের বিনিময়ে আদান-প্রদান করা হয়। উদাহরণস্বরূপ:
joe:joes_password (ইউজারনেম:পাসওয়ার্ড) অথবা
Nf2moHOASMJeUmXVdDhlMbPaXm2U7eMc:unUOXYpPe74ZfLEb (key:secret)
অনেকটা এইরকম হয়ে যায়:
b0uiYwjRZLEo4lEu7ky2GGxHkanN
অ্যাক্সেস টোকেন হলো এলোমেলো অক্ষরের একটি স্ট্রিং এবং এটি অস্থায়ী (তুলনামূলকভাবে অল্প সময়ের মধ্যেই এর মেয়াদ শেষ হয়ে যাওয়ার কথা), তাই অ্যাপের কার্যপ্রবাহে কোনো ব্যবহারকারীকে প্রমাণীকরণের জন্য প্রকৃত পরিচয়পত্র আদান-প্রদানের চেয়ে এটি ব্যবহার করা অনেক বেশি নিরাপদ।
OAuth 2.0 স্পেসিফিকেশন অ্যাপগুলোর জন্য অ্যাক্সেস টোকেন বিতরণের উদ্দেশ্যে বিভিন্ন পদ্ধতি সংজ্ঞায়িত করে, যেগুলোকে "গ্রান্ট টাইপ" বলা হয়। OAuth 2.0 দ্বারা সংজ্ঞায়িত সবচেয়ে মৌলিক গ্রান্ট টাইপটিকে "ক্লায়েন্ট ক্রেডেনশিয়ালস" বলা হয়। এই গ্রান্ট টাইপে, ক্লায়েন্ট ক্রেডেনশিয়ালসের বিনিময়ে OAuth অ্যাক্সেস টোকেন তৈরি করা হয়, যা হলো কনজিউমার কী/কনজিউমার সিক্রেট জোড়া, যেমনটি উপরের উদাহরণে দেখানো হয়েছে।
Edge-এ ক্লায়েন্ট ক্রেডেনশিয়ালস গ্রান্ট টাইপটি API প্রক্সিতে পলিসি ব্যবহার করে প্রয়োগ করা হয়। একটি সাধারণ OAuth ফ্লো-তে দুটি ধাপ থাকে:
- ক্লায়েন্ট ক্রেডেনশিয়াল থেকে একটি OAuth অ্যাক্সেস টোকেন তৈরি করতে API প্রক্সি ১-কে কল করুন । API প্রক্সিতে থাকা একটি OAuth v2.0 পলিসি এই কাজটি পরিচালনা করে।
- একটি এপিআই কলে OAuth অ্যাক্সেস টোকেন পাঠাতে এপিআই প্রক্সি ২-কে কল করুন । এপিআই প্রক্সি একটি OAuth v2.0 পলিসি ব্যবহার করে অ্যাক্সেস টোকেনটি যাচাই করে।
আপনার যা যা লাগবে
- একটি Apigee Edge অ্যাকাউন্ট। যদি আপনার এখনও একটি না থাকে, তাহলে আপনি "একটি Apigee Edge অ্যাকাউন্ট তৈরি করা" বিভাগের নির্দেশাবলী অনুসরণ করে সাইন আপ করতে পারেন।
- কমান্ড লাইন থেকে এপিআই কল করার জন্য আপনার মেশিনে cURL ইনস্টল করা আছে।
একটি টোকেন-জেনারেটিং এপিআই প্রক্সি ডাউনলোড এবং স্থাপন করুন।
এই ধাপে, আপনি এমন একটি এপিআই প্রক্সি তৈরি করবেন যা একটি এপিআই কলে পাঠানো কনজিউমার কী এবং কনজিউমার সিক্রেট থেকে একটি OAuth অ্যাক্সেস টোকেন তৈরি করে। Apigee এই কাজটি করার জন্য একটি নমুনা এপিআই প্রক্সি সরবরাহ করে। আপনি এখন প্রক্সিটি ডাউনলোড এবং ডিপ্লয় করবেন, এবং পরে টিউটোরিয়ালে এটি ব্যবহার করবেন। (আপনি এই এপিআই প্রক্সিটি নিজেই সহজে তৈরি করতে পারেন। এই ডাউনলোড এবং ডিপ্লয় করার ধাপটি সুবিধার জন্য এবং আগে থেকে তৈরি করা প্রক্সি শেয়ার করা কতটা সহজ তা দেখানোর জন্য।)
- 'oauth' নমুনা এপিআই প্রক্সি জিপ ফাইলটি আপনার ফাইল সিস্টেমের যেকোনো ডিরেক্টরিতে ডাউনলোড করুন ।
- https://apigee.com/edge- এ যান এবং সাইন ইন করুন।
- বাম দিকের নেভিগেশন বার থেকে Develop > API Proxys নির্বাচন করুন।
- ক্লিক + প্রক্সি ।

- Create Proxy উইজার্ডে, Upload proxy bundle-এ ক্লিক করুন।
- আপনার ডাউনলোড করা
oauth.zipফাইলটি বেছে নিন এবং Next বাটনে ক্লিক করুন। - তৈরি করুন- এ ক্লিক করুন।
- বিল্ড সম্পন্ন হলে, এপিআই প্রক্সি এডিটরে নতুন প্রক্সিটি দেখতে 'এডিট প্রক্সি'- তে ক্লিক করুন।
- এপিআই প্রক্সি এডিটর ওভারভিউ পৃষ্ঠায়, ডিপ্লয়মেন্ট ড্রপ-ডাউনে ক্লিক করুন এবং টেস্ট নির্বাচন করুন। এটি আপনার প্রতিষ্ঠানের পরীক্ষামূলক পরিবেশ।

নিশ্চিতকরণের জন্য দেখানো হলে, Deploy-তে ক্লিক করুন।
আপনি যখন আবার ডিপ্লয়মেন্ট ড্রপ-ডাউনটিতে ক্লিক করবেন, তখন একটি সবুজ আইকন নির্দেশ করবে যে প্রক্সিটি টেস্ট এনভায়রনমেন্টে ডিপ্লয় করা হয়েছে।
চমৎকার! আপনি সফলভাবে আপনার Edge অর্গানাইজেশনে একটি অ্যাক্সেস টোকেন-উৎপাদনকারী API প্রক্সি ডাউনলোড এবং স্থাপন করেছেন।
OAuth প্রবাহ এবং নীতি দেখুন
চলুন এপিআই প্রক্সিতে কী কী রয়েছে তা আরও ভালোভাবে দেখে নেওয়া যাক।
- এপিআই প্রক্সি এডিটরে, ডেভেলপ ট্যাবে ক্লিক করুন। বাম দিকের নেভিগেটর প্যানে, আপনি দুটি পলিসি দেখতে পাবেন। এছাড়াও,
Proxy Endpointsসেকশনে আপনি দুটিPOSTফ্লো দেখতে পাবেন। Proxy Endpointsঅধীনে অ্যাক্সেস টোকেন ক্লায়েন্ট ক্রেডেনশিয়াল-এ ক্লিক করুন।
XML কোড ভিউতে, আপনি
AccessTokenClientCredentialনামের একটিFlowদেখতে পাবেন:<Flow name="AccessTokenClientCredential"> <Description/> <Request> <Step> <Name>GenerateAccessTokenClient</Name> </Step> </Request> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/accesstoken") and (request.verb = "POST")</Condition> </Flow>ফ্লো হলো একটি এপিআই প্রক্সির একটি প্রসেসিং ধাপ। এক্ষেত্রে, একটি নির্দিষ্ট শর্ত পূরণ হলে ফ্লোটি ট্রিগার হয় (এটিকে কন্ডিশনাল ফ্লো বলা হয়)।
<Condition>এলিমেন্টে সংজ্ঞায়িত শর্তটি বলে যে, যদি/accesstokenরিসোর্সে এপিআই প্রক্সি কল করা হয় এবং রিকোয়েস্ট ভার্বটিPOSTহয়, তাহলেGenerateAccessTokenClientপলিসিটি এক্সিকিউট করো, যা অ্যাক্সেস টোকেন তৈরি করে।এবার দেখা যাক, শর্তসাপেক্ষ ফ্লোটি কোন পলিসিটি ট্রিগার করবে। ফ্লো ডায়াগ্রামে থাকা GenerateAccessTokenClient পলিসি আইকনটিতে ক্লিক করুন।

নিম্নলিখিত XML কনফিগারেশনটি কোড ভিউতে লোড করা হয়:<OAuthV2 name="GenerateAccessTokenClient"> <!-- This policy generates an OAuth 2.0 access token using the client_credentials grant type --> <Operation>GenerateAccessToken</Operation> <!-- This is in millseconds, so expire in an hour --> <ExpiresIn>3600000</ExpiresIn> <SupportedGrantTypes> <!-- This part is very important: most real OAuth 2.0 apps will want to use other grant types. In this case it is important to NOT include the "client_credentials" type because it allows a client to get access to a token with no user authentication --> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <GenerateResponse/> </OAuthV2>
কনফিগারেশনটিতে নিম্নলিখিত বিষয়গুলো অন্তর্ভুক্ত রয়েছে:
-
<Operation>, যা কয়েকটি পূর্বনির্ধারিত মানের মধ্যে একটি হতে পারে, তা নির্ধারণ করে যে পলিসিটি কী করবে। এই ক্ষেত্রে, এটি একটি অ্যাক্সেস টোকেন তৈরি করবে। - টোকেনটি তৈরি হওয়ার ১ ঘন্টা (৩৬,০০,০০০ মিলিসেকেন্ড) পর মেয়াদোত্তীর্ণ হয়ে যাবে।
-
<SupportedGrantTypes>এ, প্রত্যাশিত OAuth<GrantType>হলোclient_credentials(একটি কনজিউমার কী এবং সিক্রেটের বিনিময়ে একটি OAuth টোকেন)। - OAuth 2.0 স্পেসিফিকেশন অনুযায়ী, দ্বিতীয়
<GrantType>এলিমেন্টটি পলিসিকে বলে দেয় যে API কলের কোথায় গ্রান্ট টাইপ প্যারামিটারটি খুঁজতে হবে। (আপনি এটি পরে API কলে দেখতে পাবেন)। গ্রান্ট টাইপটি HTTP হেডারে (request.header.grant_type) অথবা ফর্ম প্যারামিটার (request.formparam.grant_type) হিসেবেও পাঠানো যেতে পারে।
-
এই মুহূর্তে এপিআই প্রক্সি নিয়ে আপনার আর কিছু করার দরকার নেই। পরবর্তী ধাপগুলোতে, আপনি এই এপিআই প্রক্সি ব্যবহার করে একটি OAuth অ্যাক্সেস টোকেন তৈরি করবেন। কিন্তু প্রথমে, আপনাকে আরও কয়েকটি কাজ করতে হবে:
- আপনি যে এপিআই প্রক্সিটি OAuth দিয়ে সুরক্ষিত করতে চান, সেটি তৈরি করুন।
- আরও কয়েকটি আর্টিফ্যাক্ট তৈরি করুন, যেগুলোর মাধ্যমে আপনি কনজিউমার কী এবং কনজিউমার সিক্রেট পাবেন, যা একটি অ্যাক্সেস টোকেনের জন্য বিনিময় করতে হবে।
OAuth-সুরক্ষিত API প্রক্সি তৈরি করুন
এখন আপনি যে এপিআই প্রক্সিটি সুরক্ষিত করতে চান, সেটি তৈরি করবেন। এটি হলো সেই এপিআই কল যা আপনার কাঙ্ক্ষিত কিছু রিটার্ন করে। এক্ষেত্রে, এপিআই প্রক্সিটি আপনার আইপি অ্যাড্রেস রিটার্ন করার জন্য Apigee-এর mocktarget সার্ভিসকে কল করবে। কিন্তু, আপনি এটি কেবল তখনই দেখতে পাবেন, যদি আপনার এপিআই কলের সাথে একটি বৈধ OAuth অ্যাক্সেস টোকেন পাস করেন।
আপনি এখানে যে এপিআই প্রক্সি তৈরি করবেন, তাতে এমন একটি পলিসি অন্তর্ভুক্ত থাকবে যা অনুরোধে একটি OAuth টোকেন আছে কিনা তা যাচাই করবে।
- বাম দিকের নেভিগেশন বার থেকে Develop > API Proxys নির্বাচন করুন।
- ক্লিক + প্রক্সি ।

- বিল্ড এ প্রক্সি উইজার্ডে, রিভার্স প্রক্সি (সবচেয়ে প্রচলিত) নির্বাচন করুন এবং নেক্সট-এ ক্লিক করুন।
- নিম্নলিখিত বিষয়গুলো দিয়ে প্রক্সিটি কনফিগার করুন:
এই ক্ষেত্রে এটা করুন প্রক্সি নাম প্রবেশ করুন: helloworld_oauth2প্রকল্পের ভিত্তি পথ পরিবর্তন করুন:
/hellooauth2প্রজেক্ট বেস পাথ হলো এপিআই প্রক্সিতে অনুরোধ পাঠানোর জন্য ব্যবহৃত ইউআরএল-এর একটি অংশ।
বিদ্যমান এপিআই প্রবেশ করুন:
https://mocktarget.apigee.net/ipএটি সেই টার্গেট ইউআরএল নির্ধারণ করে, যা এপিআই প্রক্সিতে কোনো অনুরোধের ক্ষেত্রে Apigee Edge ব্যবহার করে।
বর্ণনা প্রবেশ করুন: hello world protected by OAuth - পরবর্তী ধাপে যান।
- সাধারণ নীতিমালা পৃষ্ঠায়:
এই ক্ষেত্রে এটা করুন নিরাপত্তা: অনুমোদন নির্বাচন করুন: OAuth 2.0 - পরবর্তী ধাপে যান।
- ভার্চুয়াল হোস্ট পেজে, নেক্সট-এ ক্লিক করুন।
- বিল্ড পেজে, টেস্ট এনভায়রনমেন্টটি সিলেক্ট করা আছে কিনা তা নিশ্চিত করুন এবং ক্রিয়েট অ্যান্ড ডিপ্লয়-এ ক্লিক করুন।
- সারাংশ পৃষ্ঠায় আপনি একটি স্বীকৃতি দেখতে পাবেন যে আপনার নতুন এপিআই প্রক্সিটি সফলভাবে তৈরি হয়েছে এবং এটি আপনার পরীক্ষা পরিবেশে স্থাপন করা হয়েছে।
- এপিআই প্রক্সির ওভারভিউ পৃষ্ঠাটি প্রদর্শন করতে 'এডিট প্রক্সি'-তে ক্লিক করুন।
লক্ষ্য করুন যে এবার এপিআই প্রক্সিটি স্বয়ংক্রিয়ভাবে ডেপ্লয় করা হয়েছে। ডেপ্লয়মেন্ট ড্রপ-ডাউনে ক্লিক করে নিশ্চিত করুন যে 'টেস্ট' এনভায়রনমেন্টের পাশে একটি সবুজ ডেপ্লয়মেন্ট ডট রয়েছে।
নীতিমালাগুলো দেখুন
তুমি যা তৈরি করেছ, তা আরও ভালোভাবে দেখা যাক।
- এপিআই প্রক্সি এডিটরে, ডেভেলপ ট্যাবে ক্লিক করুন। আপনি দেখতে পাবেন যে এপিআই প্রক্সির রিকোয়েস্ট ফ্লোতে দুটি পলিসি যোগ করা হয়েছে:
- OAuth v2.0 অ্যাক্সেস টোকেন যাচাই করুন – একটি বৈধ OAuth টোকেন উপস্থিত আছে কিনা তা নিশ্চিত করতে API কলটি পরীক্ষা করে।
- হেডার অথরাইজেশন অপসারণ – এটি একটি AssignMessage পলিসি যা অ্যাক্সেস টোকেনটি যাচাই করার পর সরিয়ে দেয়, যাতে এটি টার্গেট সার্ভিসে পাঠানো না হয়। (যদি টার্গেট সার্ভিসের OAuth অ্যাক্সেস টোকেনের প্রয়োজন হতো, তাহলে আপনি এই পলিসিটি ব্যবহার করতেন না)।
ফ্লো ভিউতে থাকা Verify OAuth v2.0 Access Token আইকনটিতে ক্লিক করুন এবং কোড প্যানে এর নিচে থাকা XML-টি দেখুন।

<OAuthV2 async="false" continueOnError="false" enabled="true" name="verify-oauth-v2-access-token"> <DisplayName>Verify OAuth v2.0 Access Token</DisplayName> <Operation>VerifyAccessToken</Operation> </OAuthV2>লক্ষ্য করুন যে
<Operation>হলোVerifyAccessToken। এই Operation-টিই নির্ধারণ করে দেয় যে পলিসিটির কাজ কী হবে। এক্ষেত্রে, এটি রিকোয়েস্টটিতে একটি বৈধ OAuth টোকেন আছে কিনা তা যাচাই করবে।
একটি এপিআই পণ্য যোগ করুন
Apigee UI ব্যবহার করে একটি API পণ্য যোগ করতে:
- প্রকাশ করুন > এপিআই পণ্য নির্বাচন করুন।
- +API পণ্য-তে ক্লিক করুন।
- আপনার এপিআই পণ্যের বিবরণ লিখুন।
মাঠ বর্ণনা নাম এপিআই প্রোডাক্টের অভ্যন্তরীণ নাম। নামে কোনো বিশেষ অক্ষর ব্যবহার করবেন না।
দ্রষ্টব্য: এপিআই প্রোডাক্ট তৈরি হয়ে গেলে আপনি এর নাম পরিবর্তন করতে পারবেন না। উদাহরণস্বরূপ,helloworld_oauth2-Productপ্রদর্শনের নাম এপিআই প্রোডাক্টের জন্য প্রদর্শিত নাম। এই প্রদর্শিত নামটি ইউজার ইন্টারফেসে (UI) ব্যবহৃত হয় এবং আপনি যেকোনো সময় এটি সম্পাদনা করতে পারেন। যদি নির্দিষ্ট করে দেওয়া না থাকে, তাহলে 'Name' ভ্যালুটি ব্যবহৃত হবে। এই ফিল্ডটি 'Name' ভ্যালু ব্যবহার করে স্বয়ংক্রিয়ভাবে পূরণ হয়ে যায়; আপনি এর বিষয়বস্তু সম্পাদনা বা মুছে ফেলতে পারেন। প্রদর্শিত নামে বিশেষ অক্ষর থাকতে পারে। উদাহরণস্বরূপ, helloworld_oauth2-Product।বর্ণনা এপিআই পণ্যটির বিবরণ। পরিবেশ যেসব এনভায়রনমেন্টে এপিআই প্রোডাক্টটি অ্যাক্সেসের অনুমতি দেবে। সেই এনভায়রনমেন্টটি নির্বাচন করুন যেখানে আপনি এপিআই প্রক্সিটি ডেপ্লয় করেছেন। উদাহরণস্বরূপ, test।অ্যাক্সেস পাবলিক নির্বাচন করুন। অ্যাক্সেস অনুরোধগুলি স্বয়ংক্রিয়ভাবে অনুমোদন করুন যেকোনো অ্যাপ থেকে এই এপিআই প্রোডাক্টের জন্য গুরুত্বপূর্ণ অনুরোধগুলোর স্বয়ংক্রিয় অনুমোদন চালু করুন। কোটা এই টিউটোরিয়ালের জন্য উপেক্ষা করুন। অনুমোদিত OAuth স্কোপ এই টিউটোরিয়ালের জন্য উপেক্ষা করুন। - API প্রক্সি ফিল্ডে, আপনার এইমাত্র তৈরি করা API প্রক্সিটি নির্বাচন করুন।
- Path ফিল্ডে "/" লিখুন। অন্য ফিল্ডগুলো উপেক্ষা করুন।
- সংরক্ষণ করুন- এ ক্লিক করুন।
আপনার সংস্থায় একজন ডেভেলপার এবং অ্যাপ যোগ করুন
এরপরে, আপনি আপনার এপিআই (API) ব্যবহার করার জন্য একজন ডেভেলপারের সাইন আপ করার কার্যপ্রবাহটি অনুকরণ করবেন। সাধারণত, ডেভেলপাররা আপনার ডেভেলপার পোর্টালের মাধ্যমে নিজেদের এবং তাদের অ্যাপ নিবন্ধন করে থাকেন। তবে, এই ধাপে আপনি একজন ডেভেলপার এবং একটি অ্যাপকে প্রশাসক হিসেবে যুক্ত করবেন।
একজন ডেভেলপারের এক বা একাধিক অ্যাপ থাকবে যা আপনার এপিআই (API) কল করে, এবং প্রতিটি অ্যাপ একটি অনন্য কনজিউমার কী (consumer key) ও কনজিউমার সিক্রেট (consumer secret) পায়। প্রতিটি অ্যাপের জন্য এই কী/সিক্রেট আপনাকে, অর্থাৎ এপিআই প্রোভাইডারকে, আপনার এপিআই-তে অ্যাক্সেসের উপর আরও সূক্ষ্ম নিয়ন্ত্রণ এবং এপিআই ট্র্যাফিকের উপর আরও বিস্তারিত অ্যানালিটিক্স রিপোর্টিং প্রদান করে, কারণ Edge জানে কোন ডেভেলপার এবং অ্যাপ কোন OAuth টোকেনের অন্তর্গত।
একজন ডেভেলপার তৈরি করুন
চলুন নাইজেল টাফনেল নামে একজন ডেভেলপার তৈরি করি।
- মেনু থেকে প্রকাশ > ডেভেলপার নির্বাচন করুন।
- ক্লিক করুন + ডেভেলপার ।
- নতুন ডেভেলপার উইন্ডোতে নিম্নলিখিত তথ্যগুলো প্রবেশ করান:
এই ক্ষেত্রে প্রবেশ করুন প্রথম নাম Nigelশেষ নাম Tufnelব্যবহারকারীর নাম nigelইমেল nigel@example.com - তৈরি করুন- এ ক্লিক করুন।
একটি অ্যাপ নিবন্ধন করুন
চলুন নাইজেলের জন্য একটি অ্যাপ তৈরি করি।
- প্রকাশ করুন > অ্যাপস নির্বাচন করুন।
- ক্লিক করুন + অ্যাপ ।
- নতুন অ্যাপ উইন্ডোতে নিম্নলিখিতগুলি প্রবেশ করান:
এই ক্ষেত্রে এটা করুন নাম এবং প্রদর্শিত নাম প্রবেশ করুন: nigel_appডেভেলপার ডেভেলপার-এ ক্লিক করুন এবং নির্বাচন করুন: Nigel Tufnel (nigel@example.com)কলব্যাক ইউআরএল এবং নোট খালি রাখুন - Products-এর অধীনে, Add Product-এ ক্লিক করুন।
- helloworld_oauth2-Product নির্বাচন করুন।
- তৈরি করুন- এ ক্লিক করুন।
কনজিউমার কী এবং কনজিউমার সিক্রেট সংগ্রহ করুন
এখন আপনি কনজিউমার কী এবং কনজিউমার সিক্রেট পাবেন, যা একটি OAuth অ্যাক্সেস টোকেনের জন্য বিনিময় করা হবে।
- নিশ্চিত করুন যে nigel_app পৃষ্ঠাটি প্রদর্শিত হচ্ছে। যদি না হয়, Apps পৃষ্ঠায় (Publish > Apps) nigel_app-এ ক্লিক করুন।
nigel_app পেজে, Key এবং Secret কলামে Show- তে ক্লিক করুন। লক্ষ্য করুন যে, এই key/secret-গুলো পূর্বে স্বয়ংক্রিয়ভাবে তৈরি হওয়া "helloworld_oauth2-Product"-এর সাথে যুক্ত।
- Key এবং Secret নির্বাচন করে কপি করুন। এগুলো একটি অস্থায়ী টেক্সট ফাইলে পেস্ট করুন । পরবর্তী একটি ধাপে আপনি এগুলো ব্যবহার করবেন, যেখানে আপনি এপিআই প্রক্সিকে কল করবেন যা এই ক্রেডেনশিয়ালগুলোর বিনিময়ে একটি OAuth অ্যাক্সেস টোকেন প্রদান করবে।
আপনার আইপি অ্যাড্রেস পেতে এপিআই কল করার চেষ্টা করুন (ব্যর্থ!)
শুধু মজা করার জন্য, সেই সুরক্ষিত এপিআই প্রক্সিটি কল করার চেষ্টা করুন যেটি আপনার আইপি অ্যাড্রেস ফেরত দেওয়ার কথা। একটি টার্মিনাল উইন্ডোতে নিম্নলিখিত cURL কমান্ডটি চালান, যেখানে আপনার Edge অর্গানাইজেশনের নামটি বসিয়ে দিন। URL-এর test শব্দটি হলো আপনার অর্গানাইজেশনের টেস্ট এনভায়রনমেন্ট, যেখানে আপনি আপনার প্রক্সিগুলো স্থাপন করেছেন। প্রক্সির বেসপাথ হলো /hellooauth2 , যা প্রক্সি তৈরি করার সময় আপনার নির্দিষ্ট করা বেসপাথের মতোই। লক্ষ্য করুন যে, আপনি এই কলে কোনো OAuth অ্যাক্সেস টোকেন পাঠাচ্ছেন না ।
curl https://ORG_NAME-test.apigee.net/hellooauth2
যেহেতু এপিআই প্রক্সিতে ‘Verify OAuth v2.0 Access Token’ পলিসিটি অনুরোধে একটি বৈধ OAuth টোকেন যাচাই করে, তাই কলটি নিম্নলিখিত বার্তা সহ ব্যর্থ হওয়া উচিত:
{"fault":{"faultstring":"Invalid access token","detail":{"errorcode":"oauth.v2.InvalidAccessToken"}}}এক্ষেত্রে ব্যর্থতা ভালো! এর মানে হলো আপনার এপিআই প্রক্সি অনেক বেশি সুরক্ষিত। শুধুমাত্র বৈধ OAuth অ্যাক্সেস টোকেনসহ বিশ্বস্ত অ্যাপগুলোই সফলভাবে এই এপিআই কল করতে পারবে।
একটি OAuth অ্যাক্সেস টোকেন পান
এখন আমরা আসল প্রাপ্তির পর্যায়ে এসেছি। আপনি একটি টেক্সট ফাইলে কপি ও পেস্ট করা 'key' এবং 'secret' ব্যবহার করে সেগুলোকে একটি OAuth অ্যাক্সেস টোকেনের জন্য বিনিময় করতে চলেছেন। এরপর আপনি আপনার ইম্পোর্ট করা API স্যাম্পল প্রক্সি 'oauth'- এ একটি API কল করবেন, যা একটি API অ্যাক্সেস টোকেন তৈরি করবে।
সেই কী এবং সিক্রেট ব্যবহার করে, নিম্নলিখিত cURL কলটি করুন (লক্ষ্য করুন যে প্রোটোকলটি হলো https ), যেখানে নির্দেশিত স্থানে আপনার Edge অর্গানাইজেশনের নাম, আপনার কী এবং আপনার সিক্রেট বসান:
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \ "https://ORG_NAME-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials" \ -d "client_id=CLIENT_KEY&client_secret=CLIENT_SECRET"
মনে রাখবেন, যদি আপনি কল করার জন্য পোস্টম্যানের মতো কোনো ক্লায়েন্ট ব্যবহার করেন, তাহলে client_id এবং client_secret রিকোয়েস্টের Body-তে লিখতে হবে এবং সেগুলোকে অবশ্যই x-www-form-urlencoded হতে হবে।
আপনি এই ধরনের একটি প্রতিক্রিয়া পাবেন:
{ "issued_at" : "1466025769306", "application_name" : "716bbe61-f14a-4d85-9b56-a62ff8e0d347", "scope" : "", "status" : "approved", "api_product_list" : "[helloworld_oauth2-Product]", "expires_in" : "3599", //--in seconds "developer.email" : "nigel@example.com", "token_type" : "BearerToken", "client_id" : "xNnREu1DNGfiwzQZ5HUN8IAUwZSW1GZW", "access_token" : "GTPY9VUHCqKVMRB0cHxnmAp0RXc0", "organization_name" : "myOrg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
আপনি আপনার OAuth অ্যাক্সেস টোকেন পেয়ে গেছেন! access_token ভ্যালুটি (উদ্ধৃতি চিহ্ন ছাড়া) কপি করে আপনার টেক্সট ফাইলে পেস্ট করুন। একটু পরেই এটি আপনার কাজে লাগবে।
এইমাত্র কী ঘটল?
আপনার কি মনে আছে, আগে যখন আপনি OAuth প্রক্সিতে সেই শর্তসাপেক্ষ ফ্লোটি দেখেছিলেন, যেখানে বলা ছিল যে যদি রিসোর্স URI হয় /accesstoken এবং রিকোয়েস্ট ভার্ব হয় POST , তাহলে GenerateAccessTokenClient OAuth পলিসিটি এক্সিকিউট করতে হবে যা একটি অ্যাক্সেস টোকেন তৈরি করে? আপনার cURL কমান্ডটি সেই শর্তগুলো পূরণ করেছিল, তাই OAuth পলিসিটি এক্সিকিউট হয়েছিল। এটি আপনার কনজিউমার কী এবং কনজিউমার সিক্রেট ভেরিফাই করে সেগুলোর বিনিময়ে একটি OAuth টোকেন দিয়েছে, যার মেয়াদ ১ ঘণ্টা পর শেষ হবে।
অ্যাক্সেস টোকেন দিয়ে এপিআই কল করুন (সফল!)
এখন যেহেতু আপনার কাছে একটি অ্যাক্সেস টোকেন আছে, আপনি এটি ব্যবহার করে এপিআই প্রক্সিকে কল করতে পারেন। নিম্নলিখিত cURL কলটি করুন। আপনার Edge অর্গানাইজেশনের নাম এবং অ্যাক্সেস টোকেনটি প্রতিস্থাপন করুন।
curl https://ORG_NAME-test.apigee.net/hellooauth2 -H "Authorization: Bearer TOKEN"
এখন আপনার এপিআই প্রক্সিতে একটি সফল কল পাওয়ার কথা, যা আপনার আইপি অ্যাড্রেসটি ফেরত দেবে। উদাহরণস্বরূপ:
{"ip":"::ffff:192.168.14.136"}আপনি প্রায় এক ঘণ্টা পর্যন্ত ওই এপিআই কলটি পুনরাবৃত্তি করতে পারবেন, এরপর অ্যাক্সেস টোকেনটির মেয়াদ শেষ হয়ে যাবে। এক ঘণ্টা পর কলটি করার জন্য, আপনাকে পূর্ববর্তী ধাপগুলো অনুসরণ করে একটি নতুন অ্যাক্সেস টোকেন তৈরি করতে হবে।
অভিনন্দন! আপনি একটি এপিআই প্রক্সি তৈরি করেছেন এবং কলে একটি বৈধ OAuth অ্যাক্সেস টোকেন অন্তর্ভুক্ত করার শর্ত আরোপ করে এটিকে সুরক্ষিত করেছেন।
সম্পর্কিত বিষয়
- ওঅথ হোম
- OAuthV2 নীতি
- এপিআই প্রক্সি ডাউনলোড করুন (যেখানে দেখানো হয়েছে কীভাবে আপনার ডাউনলোড করা ফাইলের মতো একটি জিপ ফাইলে এপিআই প্রক্সি বান্ডল করতে হয়)।