API কী যাচাইকরণ সেট আপ করা হচ্ছে

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

আপনি একটি API এর জন্য API কী যাচাইকরণ সেট আপ করতে পারেন যাচাই API কী টাইপের একটি নীতি সংযুক্ত করে৷ একটি যাচাই API কী নীতির জন্য শুধুমাত্র প্রয়োজনীয় সেটিং হল ক্লায়েন্ট অনুরোধে API কীটির প্রত্যাশিত অবস্থান। API প্রক্সি আপনার নির্দিষ্ট করা অবস্থানটি পরীক্ষা করবে এবং API কী বের করবে। যদি 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 name="default">
  <PreFlow>
    <Request>
      <Step><Name>APIKeyValidation</Name></Step>
      <Step><Name>StripApiKey</Name></Step>
    </Request>
  </PreFlow>

আপনি নীতি সংযুক্ত করার পরে, API প্রক্সি স্থাপন করুন।

একটি বৈধ API কী সহ একটি অনুরোধ জমা দেওয়া

আপনার প্রতিষ্ঠানের একজন প্রশাসক হিসাবে, আপনি যেকোন অ্যাপের API কী নিম্নলিখিতভাবে পুনরুদ্ধার করতে পারেন:

$ curl https://api.enterprise.apigee.com/v1/o/{myorg}/developers/{developer_email}/apps/{app_name} -u email:password 

এই কলের জন্য যে অ্যাপ প্রোফাইলটি ফেরত দেওয়া হয় তা গ্রাহক কী (API কী) এবং গোপনীয়তা প্রদান করে। ভোক্তা কী মান হল সেই মান যা আপনি API কী-এর জন্য আপনার অনুরোধে সুরক্ষিত API-এর জন্য ব্যবহার করেন।

উদাহরণস্বরূপ, একটি অনুরোধ যা একটি API কী অন্তর্ভুক্ত করে না একটি অনুমোদন ব্যর্থতার ফলাফল।

$ curl http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

ব্যর্থতার বার্তাটি নির্দেশ করে যে নীতিটি একটি API কী পরীক্ষা করেছে কিন্তু একটি বৈধ কী খুঁজে পায়নি:

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