পার্ট 2: একটি API কী তৈরি এবং পরীক্ষা করুন

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

এপিআই কী আবশ্যক করার মাধ্যমে এপিআই সুরক্ষিত করার দিকে পুনর্গঠিত ও অভিমুখী করা হয়েছে।

একজন ডেভেলপার এমন একটি অ্যাপ তৈরি করেন যা আপনার ব্যাকএন্ড সার্ভিসগুলো অ্যাক্সেস করার জন্য আপনার এপিআই- গুলোতে রিকোয়েস্ট পাঠায়। আপনার এপিআই-গুলোতে অ্যাক্সেস নিয়ন্ত্রণ করতে, আপনি ডেভেলপারকে প্রতিটি রিকোয়েস্টে একটি এপিআই কী পাস করার জন্য বলতে পারেন। কী-টি অনুপস্থিত বা অবৈধ হলে, রিকোয়েস্টটি ব্যর্থ হয়।

পাবলিশিং হলো অ্যাপ ডেভেলপারদের ব্যবহারের জন্য আপনার এপিআই (API) উপলব্ধ করার প্রক্রিয়া। এপিআই পাবলিশিংকে প্রধানত নিম্নলিখিত কাজগুলোর মাধ্যমে সংজ্ঞায়িত করা যেতে পারে:

  1. Apigee Edge-এ আপনার API-গুলো বান্ডল করে এমন API প্রোডাক্ট তৈরি করুন।
  2. Edge-এ অ্যাপ ডেভেলপারদের নিবন্ধন করুন। শুধুমাত্র একজন নিবন্ধিত অ্যাপ ডেভেলপারই একটি অ্যাপ নিবন্ধন করতে পারেন।
  3. ডেভেলপাররা এপিআই প্রোডাক্ট অ্যাক্সেস করার জন্য Edge-এ অ্যাপ রেজিস্টার করেন। এর জবাবে, ডেভেলপার একটি এপিআই কী পান। এখন যেহেতু ডেভেলপারের কাছে একটি এপিআই কী আছে, তিনি আপনার এপিআইগুলোতে রিকোয়েস্ট পাঠাতে পারেন।

আরও জানতে, প্রকাশনা পরিচিতি দেখুন।

নিচের সারণিতে অ্যাপ নিবন্ধন এবং কী তৈরি করতে ব্যবহৃত কিছু পরিভাষার সংজ্ঞা দেওয়া হলো:

মেয়াদ সংজ্ঞা
এপিআই পণ্য এপিআই প্রক্সিগুলির একটি বান্ডেল, যা একটি সার্ভিস প্ল্যানের সাথে মিলিত হয়ে সেই এপিআইগুলিতে অ্যাক্সেসের উপর সীমাবদ্ধতা আরোপ করে। এপিআই প্রোডাক্টগুলি হলো কেন্দ্রীয় ব্যবস্থা যা Apigee Edge আপনার এপিআইগুলির অনুমোদন এবং অ্যাক্সেস নিয়ন্ত্রণের জন্য ব্যবহার করে।
ডেভেলপার এপিআই কনজিউমার। ডেভেলপাররা এমন অ্যাপ তৈরি করেন যা আপনার এপিআই-গুলোতে অনুরোধ পাঠায়।
অ্যাপ একটি ক্লায়েন্ট-সাইড অ্যাপ যা একজন ডেভেলপার কোনো এপিআই প্রোডাক্ট অ্যাক্সেস করার জন্য রেজিস্টার করেন। এপিআই প্রোডাক্টে অ্যাপটি রেজিস্টার করলে সেই প্রোডাক্টের এপিআইগুলো অ্যাক্সেস করার জন্য এপিআই কী তৈরি হয়।
এপিআই কী অনুমোদন তথ্য সম্বলিত একটি স্ট্রিং, যা একটি ক্লায়েন্ট-সাইড অ্যাপ এপিআই প্রোডাক্ট দ্বারা উন্মুক্ত রিসোর্সগুলো অ্যাক্সেস করতে ব্যবহার করে। যখন একটি নিবন্ধিত অ্যাপকে কোনো এপিআই প্রোডাক্টের সাথে যুক্ত করা হয়, তখন এপিআই কী তৈরি হয়।

এই টিউটোরিয়ালের জন্য পূর্বশর্তসমূহ

এই টিউটোরিয়ালটি ধরে নেয় যে আপনি প্রথম টিউটোরিয়ালটি সম্পন্ন করেছেন, যেখানে আপনি Yahoo ওয়েদার API অ্যাক্সেস করার জন্য একটি API প্রক্সি তৈরি করেছিলেন। আপনি যদি এখনও প্রথম টিউটোরিয়ালটি সম্পন্ন না করে থাকেন, তাহলে “Secure an API by requiring API keys” দেখুন।

ধাপ ১: একটি এপিআই পণ্য তৈরি করুন

  1. ম্যানেজমেন্ট UI-তে, পাবলিশ ট্যাবে ক্লিক করুন, তারপর প্রোডাক্টস-এ ক্লিক করুন।
  2. পণ্যটিতে ক্লিক করুন (+)
  3. পণ্য যোগ করুন ডায়ালগ ফিল্ডগুলিতে নিম্নলিখিতগুলি লিখুন বা নির্বাচন করুন:
    মাঠ মূল্য
    নাম বিনামূল্যে এপিআই পণ্য
    প্রদর্শনের নাম বিনামূল্যে এপিআই পণ্য
    বর্ণনা বিনামূল্যে এপিআই পণ্য
    পরিবেশ পরীক্ষা
    অ্যাক্সেস শুধুমাত্র অভ্যন্তরীণ
    মূল অনুমোদনের ধরণ স্বয়ংক্রিয়
    (এপিআই কী তৈরি হওয়ার পর স্বয়ংক্রিয়ভাবে অনুমোদিত হয়ে যায়)
    কোটা প্রতি ১ ঘন্টায় ১০টি অনুরোধ
    (প্রতি ঘণ্টায় অনুরোধের সংখ্যা ১০টি পর্যন্ত সীমিত)
    অনুমোদিত OAuth স্কোপ খালি রাখুন

    পূরণ করা ডায়ালগটি দেখতে এইরকম হবে:

  4. রিসোর্স বিভাগে, বেছে নিন:
    • এপিআই প্রক্সি : weatherapikey
    • সংশোধন : ১
    • রিসোর্স পাথ : /forecastrss**

      রিসোর্স পাথ সেই রিসোর্স ইউআরআইগুলো নির্দিষ্ট করে, যেগুলো প্রোডাক্টটি একটি অ্যাপকে অ্যাক্সেস করার অনুমতি দেয়। এই উদাহরণে, একটি অ্যাপ এই এপিআই প্রোডাক্টের মাধ্যমে শুধুমাত্র weatherapikey প্রক্সিতে থাকা /forecastrss রিসোর্সটি অ্যাক্সেস করতে পারবে। এই এপিআই প্রোডাক্টটি ব্যবহার করে weatherapiproxy প্রক্সিতে বা অন্য কোনো প্রক্সিতে থাকা অন্য কোনো রিসোর্স অ্যাক্সেস করার চেষ্টা করা নিষিদ্ধ।

      রিসোর্স পাথের জন্য ওয়াইল্ডকার্ড ক্যারেক্টার ব্যবহার করা যায়। ওয়াইল্ডকার্ড "/**" নির্দেশ করে যে সমস্ত সাব-ইউআরআই অন্তর্ভুক্ত থাকবে, অর্থাৎ /forecastrss/foo/bar ফর্মের একটি রিসোর্স। ওয়াইল্ডকার্ড "/" নির্দেশ করে যে শুধুমাত্র এক স্তর নিচের ইউআরআইগুলো অন্তর্ভুক্ত থাকবে। আরও জানতে এপিআই প্রোডাক্ট তৈরি করুন (Create API products) দেখুন।

      লক্ষ্য করুন যে রিসোর্স পাথ ড্রপডাউন তালিকাটি নির্দিষ্ট এপিআই প্রক্সিতে সংজ্ঞায়িত সমস্ত শর্তাধীন ফ্লো প্রদর্শন করে। একটি এপিআই প্রক্সির শর্তাধীন ফ্লো একটি রিসোর্স পাথের সাথে যুক্ত লজিক বা প্রক্রিয়াকরণের ধাপগুলো নির্ধারণ করে। একটি এপিআই প্রোডাক্ট সেই রিসোর্স পাথগুলোতে অ্যাক্সেস নিয়ন্ত্রণ করে।
  5. ইমপোর্ট রিসোর্স-এ ক্লিক করুন। রিসোর্স পাথটি যুক্ত হয়ে যাবে এবং weatherapikey এপিআই প্রক্সিটি স্বয়ংক্রিয়ভাবে 'এপিআই প্রক্সিস ফর প্রোডাক্ট' সেকশনে যুক্ত হয়ে যাবে।
  6. সংরক্ষণ করুন -এ ক্লিক করুন। আপনার নতুন পণ্যটি পণ্য পৃষ্ঠায় তালিকাভুক্ত হয়েছে।

আরও জানুন:

ধাপ ২: একজন ডেভেলপার নিবন্ধন করুন

একটি এপিআই কী তৈরি করতে, আপনাকে একটি অ্যাপ নিবন্ধন করতে হবে এবং সেটিকে একটি এপিআই পণ্যের সাথে যুক্ত করতে হবে। তবে, প্রথমে অ্যাপটির ডেভেলপারকে নিবন্ধন না করে আপনি কোনো অ্যাপ নিবন্ধন করতে পারবেন না।

  1. ম্যানেজমেন্ট UI-তে, পাবলিশ ট্যাবে ক্লিক করুন, তারপর ডেভেলপারস-এ ক্লিক করুন।
  2. ডেভেলপার-এ ক্লিক করুন (+)
  3. নতুন ডেভেলপার ডায়ালগে, নিম্নলিখিত মানগুলি লিখুন:
    • প্রথম নাম : জেন
    • শেষ নাম : টিউটোরিয়াল
    • ইমেইল ঠিকানা : janetutorial@example.com
    • ব্যবহারকারীর নাম : jtutorial
  4. সেভ- এ ক্লিক করুন। নতুন ডেভেলপারটি ডেভেলপারস পেজের ডেভেলপারদের তালিকায় প্রদর্শিত হবে।

আরও জানুন:

ধাপ ৩: অ্যাপটি নিবন্ধন করুন

এখন যেহেতু আপনার একটি এপিআই প্রোডাক্ট এবং একজন ডেভেলপার আছে, আপনি এপিআই প্রোডাক্টটির সাথে একটি অ্যাপ রেজিস্টার করতে পারেন। অ্যাপটি রেজিস্টার করলে এর সাথে যুক্ত এপিআই প্রোডাক্টগুলোর জন্য এপিআই কী তৈরি হয়। এরপর আপনি অ্যাপ ডেভেলপারদের কাছে কী-টি বিতরণ করতে পারেন, যাতে তারা অ্যাপ থেকেই এপিআই প্রোডাক্টগুলোর ফিচারগুলো অ্যাক্সেস করতে পারে।

  1. এপিআই প্ল্যাটফর্ম UI-তে, পাবলিশ ট্যাবে ক্লিক করুন, তারপর ডেভেলপার অ্যাপস-এ ক্লিক করুন।
  2. ডেভেলপার অ্যাপে ক্লিক করুন (+)
  3. 'Add an App' ডায়ালগ বক্সে নিম্নলিখিত মানগুলি লিখুন:
    • প্রদর্শিত নাম : আবহাওয়া এপিআই কী অ্যাপ
    • ডেভেলপার : জেন টিউটোরিয়াল (janetutorial@example.com)
    • কলব্যাক ইউআরএল : খালি রাখুন
  4. অ্যাপটিকে একটি পণ্যের সাথে সংযুক্ত করুন:
    1. প্রোডাক্টস সেকশনে, + প্রোডাক্ট- এ ক্লিক করুন।
    2. বিনামূল্যে এপিআই পণ্য নির্বাচন করুন।
    3. পরিবর্তনগুলো গ্রহণ করতে টিক চিহ্ন আইকনটিতে ক্লিক করুন।
  5. সেভ-এ ক্লিক করুন। নতুন অ্যাপটি ডেভেলপার অ্যাপস পেজের অ্যাপের তালিকায় দেখা যাবে।
  6. অ্যাপের তালিকা থেকে Weather API Key App নির্বাচন করুন। এটি অ্যাপটির বিস্তারিত পৃষ্ঠাটি খুলবে।
  7. যেহেতু আপনি এপিআই প্রোডাক্টটি তৈরি করার সময় ‘কী অ্যাপ্রুভাল টাইপ: অটোমেটিক’ নির্বাচন করেছেন, তাই এপিআই কী-টি স্বয়ংক্রিয়ভাবে অনুমোদিত হয়ে যায় এবং আপনি তা অবিলম্বে দেখতে পারেন। (যদি আপনি ‘অ্যাপ্রুভাল টাইপ: ম্যানুয়াল’ নির্বাচন করতেন, তাহলে এপিআই কী-টি অনুমোদন করার জন্য আপনাকে ‘ফ্রি এপিআই প্রোডাক্ট’-এর ‘অ্যাকশনস’ কলামে থাকা ‘অ্যাপ্রুভ’ বাটনে ক্লিক করতে হতো।)
  8. Products সেকশনে, Free API Product এন্ট্রির পাশে, জেনারেট করা কীগুলো প্রদর্শন করতে Consumer Key এবং Consumer Secret কলামে Show- তে ক্লিক করুন।

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

আরও জানুন:

ধাপ ৪: অনুরোধে এপিআই কী ব্যবহার করুন

VerifyAPIKey পলিসিটি সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করতে, আপনাকে একটি বৈধ API কী ব্যবহার করে API প্রক্সিতে কল করে এটি পরীক্ষা করতে হবে। আপনি ব্রাউজারে, API প্রক্সির ট্রেস পেজ থেকে, Apigee কনসোল থেকে, অথবা cURL ব্যবহার করে API প্রক্সিতে অনুরোধ করতে পারেন। অনুরোধ করার জন্য URL-টি নিম্নরূপ:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

{org-name} এর জায়গায় আপনার Apigee অর্গানাইজেশনের নাম এবং সঠিক apikey ভ্যালুটি বসান।

প্রতিক্রিয়ায় নিম্নলিখিত বিষয়বস্তু খুঁজুন:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

যদি আপনি অনুরোধ থেকে এপিআই কী (API key) বাদ দেন, অথবা একটি অবৈধ কী ভ্যালু (key value) উল্লেখ করেন, তাহলে আপনি নিম্নলিখিত ধরনের একটি ত্রুটিপূর্ণ প্রতিক্রিয়া পাবেন:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

ধাপ ৫: এরপর কোথায় যাবেন?

এখন যেহেতু আপনি এপিআই কী পাস করার জন্য কোয়েরি প্যারামিটার ব্যবহার করে এপিআই-তে একটি অনুরোধ করেছেন, তাই কী-টিকে হেডার হিসেবে পাস করার জন্য এপিআই-টি পরিবর্তন করুন।

এপিআই কী বাধ্যতামূলক করার মাধ্যমে একটি এপিআই সুরক্ষিত করতে পরবর্তী অংশে যান।