আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
আপনি 'API কী' যাচাই করার মতো কোনও নীতি অ্যাটাচ করে কোনও API-এর জন্য API কী যাচাইকরণ সেট-আপ করতে পারেন। Verify API Key নীতির জন্য শুধুমাত্র একটি সেটিংস প্রয়োজন, সেটি হল ক্লায়েন্ট অনুরোধে API কী-এর প্রত্যাশিত লোকেশন। API প্রক্সি আপনার উল্লেখ করা লোকেশন চেক করবে এবং API key এক্সট্র্যাক্ট করবে। API কীটি প্রত্যাশিত লোকেশনে না থাকলে, একটি সমস্যা দেখানো হয় এবং অনুরোধটি বাতিল করা হয়। API কী কোয়েরি প্যারামিটার, ফর্ম প্যারামিটার বা HTTP হেডারে থাকতে পারে।
যেমন, নিচে উল্লেখ করা নীতি কনফিগারেশন, কোয়েরি
প্যারামিটার হিসেবে apikey নামের প্রত্যাশিত কী লোকেশনকে সংজ্ঞায়িত করে। সফল অনুরোধে অবশ্যই API কী-কে কোয়েরি
প্যারামিটার হিসেবে অনুরোধের সাথে যোগ করতে হবে, যেমন,?apikey=Y7yeiuhcbKJHD790।
API কী যাচাই করতে, নিম্নলিখিত নীতি তৈরি করুন:
<VerifyAPIKey name="APIKeyValidation"> <APIKey ref="request.queryparam.apikey"/> </VerifyAPIKey>
আপনাকে সুরক্ষিত করতে হবে এমন যেকোনও API-এর সাথে এই নীতি অ্যাটাচ করা যেতে পারে।
এই ধরনের নীতির বিস্তারিত ডকুমেন্টেশন নীতি রেফারেন্স টপিকে, API কী যাচাই করুন নীতি পাওয়া যাবে।
API প্রক্সি, অনুরোধে উপস্থিত থাকা সব HTTP হেডার ও কোয়েরি প্যারামিটার অটোমেটিক পাসথ্রু করে দেয়। তাই, API কী যাচাই করার পরে, মেসেজ থেকে এটি সরিয়ে দেওয়া ভাল যাতে API কীটি ব্যাকএন্ড পরিষেবায় ওয়্যার ট্রান্সফার করা না হয়। আপনি AssignMessage ধরনের নীতি ব্যবহার করে এটি করতে পারেন:
<AssignMessage name="StripApiKey"> <DisplayName>Remove Query Param</DisplayName> <Remove> <QueryParams> <QueryParam name="apikey"/> </QueryParams> </Remove> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"></AssignTo> </AssignMessage>
নীতি অ্যাটাচমেন্ট
প্রসেসিং স্টেপ হিসেবে API প্রক্সি ফ্লোতে নীতি অ্যাটাচ করতে হবে। অনুরোধের PreFlow-তে নীতি প্রয়োগ করার মাধ্যমে API প্রক্সি কোনও ক্লায়েন্ট অ্যাপ থেকে যতবার অনুরোধ পায়, ততবার API কী যাচাই করা হয়। যাচাই করার পরে, আউটবাউন্ড অনুরোধ থেকে API কী সরিয়ে দেওয়া হয়।
সুরক্ষিত করতে হবে এমন API প্রক্সির ProxyEndpoint-এর সাথে নিম্নলিখিত নীতি অ্যাটাচ করুন:
<ProxyEndpoint name="default"> <PreFlow> <Request> <Step><Name>APIKeyValidation</Name></Step> <Step><Name>StripApiKey</Name></Step> </Request> </PreFlow>
নীতি অ্যাটাচ করার পরে, API প্রক্সি ডেপ্লয় করুন।
সঠিক API key সহ অনুরোধ জমা দেওয়া
আপনার প্রতিষ্ঠানের অ্যাডমিন হিসেবে, আপনি নিম্নলিখিত উপায়ে যেকোনও অ্যাপের API কী রিট্রিভ করতে পারবেন:
$ curl https://api.enterprise.apigee.com/v1/o/{myorg}/developers/{developer_email}/apps/{app_name} -u email:password
এই কলের জন্য যে অ্যাপ প্রোফাইল রিটার্ন করা হয়, সেটি গ্রাহকের কী (API কী) ও সিক্রেট প্রদান করে। কনজিউমার কী ভ্যালু হল সেই ভ্যালু যা আপনি সুরক্ষিত API-তে আপনার অনুরোধের API key-এর জন্য ব্যবহার করেন।
যেমন, API কী অন্তর্ভুক্ত না থাকা অনুরোধের ফলে অনুমোদন ব্যর্থ হয়।
$ curl http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282
ব্যর্থতার মেসেজ থেকে বোঝা যায় যে API key-এর জন্য নীতি চেক করা হয়েছে, কিন্তু কোনও সঠিক key পাওয়া যায়নি:
OAuth Failure : Could not resolve the app key with variable request.queryparam.apikey
অ্যাপের কনজিউমার কী কোয়েরি প্যারামিটার হিসেবে যোগ করা হলে, প্রত্যাশিত ফলাফল হল সফল অনুমোদন:
$ curl http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282&"apikey=PulSCqMnXGchW0pC0s5o9ngHVTWMeLqk"
আশা করা ফলাফল হল আবহাওয়া পরিষেবা থেকে পাওয়া সফল উত্তর।
অনুরোধে API কী-এর ভ্যালু পরিবর্তন করলে, অনুমোদন করা যায় না:
$ curl http://{org_name}-test.apigee.net/weather?forecastrss?w=12797282&"apikey=PulSCqMnXGchW0"
ফলাফল:
OAuth Failure : Consumer Key is Invalid
মনে রাখবেন, আপনার প্রতিষ্ঠানের অ্যাডমিন হিসেবে, আপনি কোনও অ্যাপের জন্য কনজিউমার কী পেতে পারেন যা কোনও প্রতিষ্ঠানে রেজিস্টার করা আছে:
$ curl https://api.enterprise.apigee.com/v1/o/{myorg}/developers/{developer_email}/apps/{app_name} -u email:password