Firebase-এর জন্য API কী ব্যবহার ও পরিচালনা সম্পর্কে জানুন

একটি API কী একটি অনন্য স্ট্রিং যা Firebase এবং Google পরিষেবাগুলির সাথে ইন্টারঅ্যাক্ট করার সময় আপনার Firebase প্রকল্পে অনুরোধগুলিকে রুট করতে ব্যবহৃত হয়। এই পৃষ্ঠাটি API কী সম্পর্কে প্রাথমিক তথ্যের পাশাপাশি Firebase অ্যাপগুলির সাথে API কীগুলি ব্যবহার এবং পরিচালনা করার জন্য সর্বোত্তম অনুশীলনগুলি বর্ণনা করে৷

এপিআই কী এবং ফায়ারবেস সম্পর্কে সাধারণ তথ্য

ফায়ারবেসের জন্য API কীগুলি সাধারণ API কীগুলির থেকে আলাদা

সাধারণত API কীগুলি যেভাবে ব্যবহার করা হয় তার বিপরীতে, Firebase পরিষেবাগুলির জন্য API কীগুলি ব্যাকএন্ড সংস্থানগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করতে ব্যবহৃত হয় না ; এটি শুধুমাত্র Firebase নিরাপত্তা নিয়ম (ব্যবহারকারীরা কোন সংস্থানগুলি অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করতে) এবং অ্যাপ চেক (কোন অ্যাপগুলি সংস্থানগুলি অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করতে) দিয়ে করা যেতে পারে।

সাধারণত, আপনাকে এপিআই কীগুলিকে দৃঢ়ভাবে রক্ষা করতে হবে (উদাহরণস্বরূপ, একটি ভল্ট পরিষেবা ব্যবহার করে বা পরিবেশের ভেরিয়েবল হিসাবে কীগুলি সেট করে); যাইহোক, ফায়ারবেস পরিষেবাগুলির জন্য API কীগুলি কোড বা চেক-ইন কনফিগার ফাইলগুলিতে অন্তর্ভুক্ত করার জন্য ঠিক আছে।

যদিও ফায়ারবেস পরিষেবাগুলির জন্য API কীগুলি কোডে অন্তর্ভুক্ত করা নিরাপদ, তবে কয়েকটি নির্দিষ্ট ক্ষেত্রে রয়েছে যখন আপনার API কীগুলির জন্য সীমা প্রয়োগ করা উচিত; উদাহরণস্বরূপ, যদি আপনি Firebase ML ব্যবহার করেন, Firebase প্রমাণীকরণ ইমেল/পাসওয়ার্ড সাইন-ইন পদ্ধতি বা বিলযোগ্য Google Cloud API ব্যবহার করেন। এই পৃষ্ঠায় পরে এই মামলাগুলি সম্পর্কে আরও জানুন৷

API কী তৈরি করা হচ্ছে

একটি ফায়ারবেস প্রকল্পে অনেকগুলি API কী থাকতে পারে, তবে প্রতিটি API কী শুধুমাত্র একটি একক Firebase প্রকল্পের সাথে যুক্ত হতে পারে।

আপনার Firebase অ্যাপের জন্য Firebase দ্বারা স্বয়ংক্রিয়ভাবে API কী তৈরি করা হয়েছে

Firebase স্বয়ংক্রিয়ভাবে আপনার প্রজেক্টের জন্য API কী তৈরি করে যখন আপনি নিম্নলিখিতগুলির মধ্যে যেকোনো একটি করেন:

  • একটি ফায়ারবেস প্রকল্প তৈরি করুন > Browser key স্বয়ংক্রিয়ভাবে তৈরি
  • একটি Firebase Apple App তৈরি করুন > iOS key স্বয়ংক্রিয়ভাবে তৈরি
  • একটি Firebase Android অ্যাপ তৈরি করুন > Android key স্বয়ংক্রিয়ভাবে তৈরি

আপনি Google ক্লাউড কনসোলে আপনার নিজস্ব API কী তৈরি করতে পারেন, উদাহরণস্বরূপ ডেভেলপমেন্ট বা ডিবাগিংয়ের জন্য । এই পৃষ্ঠায় পরে এটি কখন সুপারিশ করা হতে পারে সে সম্পর্কে আরও জানুন।

আপনার API কী খোঁজা হচ্ছে

আপনি Google ক্লাউড কনসোলে API এবং পরিষেবা > শংসাপত্র প্যানেলে আপনার সমস্ত প্রকল্পের API কীগুলি দেখতে এবং পরিচালনা করতে পারেন৷

এছাড়াও আপনি নিম্নলিখিত স্থানে কোন API কী স্বয়ংক্রিয়ভাবে একটি Firebase অ্যাপের সাথে মিলছে তা খুঁজে পেতে পারেন। ডিফল্টরূপে, একই প্ল্যাটফর্মের (অ্যাপল বনাম অ্যান্ড্রয়েড বনাম ওয়েব) জন্য আপনার প্রকল্পের সমস্ত ফায়ারবেস অ্যাপ একই API কী ব্যবহার করবে।

  • Firebase Apple AppsAPI_KEY ক্ষেত্রে Firebase কনফিগারেশন ফাইল, GoogleService-Info.plist এ একটি অ্যাপের স্বয়ংক্রিয়-মিলিত API কী খুঁজুন।

  • ফায়ারবেস অ্যান্ড্রয়েড অ্যাপস - একটি অ্যাপের স্বয়ংক্রিয়ভাবে মিলে যাওয়া API কী খুঁজুন Firebase কনফিগারেশন ফাইল, google-services.json , current_key ক্ষেত্রে।

  • ফায়ারবেস ওয়েব অ্যাপস - একটি অ্যাপের স্বয়ংক্রিয়ভাবে মিলে যাওয়া API কী খুঁজুন Firebase কনফিগার অবজেক্টে, apiKey ক্ষেত্রে।

একটি API কী ব্যবহার করে

Firebase/Google পরিষেবাগুলির সাথে ইন্টারঅ্যাক্ট করার সময় আপনার Firebase প্রোজেক্ট সনাক্ত করতে API কীগুলি ব্যবহার করা হয়। বিশেষত, এগুলি কোটা এবং বিলিং এর জন্য আপনার প্রকল্পের সাথে API অনুরোধগুলি সংযুক্ত করতে ব্যবহৃত হয়৷ তারা পাবলিক ডেটা অ্যাক্সেস করার জন্যও দরকারী।

উদাহরণস্বরূপ, আপনি একটি এপিআই কীকে একটি ক্যোয়ারী প্যারামিটার হিসাবে একটি REST API কলে এর মান পাস করে স্পষ্টভাবে ব্যবহার করতে পারেন। এই উদাহরণটি দেখায় কিভাবে আপনি ডায়নামিক লিঙ্ক লিঙ্ক শর্টনার এপিআই- তে একটি অনুরোধ করতে পারেন:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

যখন আপনার অ্যাপ ফায়ারবেস এপিআইতে কল করে, তখন আপনার অ্যাপটি স্বয়ংক্রিয়ভাবে আপনার প্রোজেক্টের এপিআই কী-এর জন্য Firebase কনফিগার ফাইল/অবজেক্ট দেখতে পাবে। আপনি যাইহোক, পরিবেশের ভেরিয়েবল সহ একটি ভিন্ন প্রক্রিয়া ব্যবহার করে আপনার API কী সেট করতে পারেন।

API কীগুলিতে সীমাবদ্ধতা প্রয়োগ করুন (প্রস্তাবিত)

যদিও ফায়ারবেস পরিষেবাগুলির জন্য একটি এপিআই কীকে গোপনীয় হিসাবে বিবেচনা করার প্রয়োজন নেই, তবে কিছু নির্দিষ্ট ক্ষেত্রে (নীচে দেখুন) রয়েছে যেখানে আপনি API কী এর অপব্যবহার থেকে আপনার প্রকল্পকে রক্ষা করার জন্য অতিরিক্ত ব্যবস্থা নিতে চাইতে পারেন।

আপনি পাসওয়ার্ড-ভিত্তিক প্রমাণীকরণ ব্যবহার করলে কোটা শক্ত করুন

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

এমন সম্ভাবনার বিরুদ্ধে প্রশমিত করতে যে কেউ একটি এপিআই কী অপব্যবহার করে পাশবিক শক্তি আক্রমণের চেষ্টা করতে পারে, আপনি আপনার অ্যাপের স্বাভাবিক ট্রাফিক প্রত্যাশা প্রতিফলিত করতে identitytoolkit.googleapis.com এন্ডপয়েন্টের ডিফল্ট কোটা শক্ত করতে পারেন। সচেতন থাকুন যে আপনি যদি এই কোটা শক্ত করেন এবং আপনার অ্যাপ হঠাৎ করে ব্যবহারকারী বাড়ায়, আপনি কোটা না বাড়া পর্যন্ত সাইন-ইন ত্রুটি পেতে পারেন। আপনি Google ক্লাউড কনসোলে আপনার প্রকল্পের API কোটা পরিবর্তন করতে পারেন।

নির্দিষ্ট ধরনের API-এর জন্য আলাদা, সীমাবদ্ধ API কী ব্যবহার করুন

যদিও ফায়ারবেস পরিষেবাগুলির জন্য ব্যবহৃত API কীগুলিকে সাধারণত গোপন হিসাবে বিবেচনা করার প্রয়োজন হয় না, তবে আপনার ম্যানুয়ালি সক্ষম করা Google ক্লাউড APIগুলিতে অ্যাক্সেস দেওয়ার জন্য ব্যবহৃত API কীগুলির সাথে কিছু অতিরিক্ত সতর্কতা অবলম্বন করা উচিত।

আপনি যদি এমন একটি Google ক্লাউড API (যেকোন প্ল্যাটফর্মে) ব্যবহার করেন যা Firebase দ্বারা স্বয়ংক্রিয়ভাবে সক্ষম না হয় (অর্থাৎ আপনি নিজেই এটি সক্ষম করেছেন), তাহলে সেই APIগুলির সাথে ব্যবহারের জন্য আপনার আলাদা, সীমাবদ্ধ API কী তৈরি করার কথা বিবেচনা করা উচিত। এটি বিশেষভাবে গুরুত্বপূর্ণ যদি API একটি বিলযোগ্য Google ক্লাউড পরিষেবার জন্য হয়।

উদাহরণস্বরূপ, আপনি যদি iOS-এ Firebase ML-এর ক্লাউড ভিশন API ব্যবহার করেন, তাহলে আপনাকে আলাদা API কী তৈরি করতে হবে যেগুলি আপনি শুধুমাত্র ক্লাউড ভিশন API অ্যাক্সেস করার জন্য ব্যবহার করেন।

নন-ফায়ারবেস API-এর জন্য আলাদা, সীমাবদ্ধ API কী ব্যবহার করে, আপনি প্রয়োজনে কীগুলি ঘোরাতে বা প্রতিস্থাপন করতে পারেন এবং আপনার Firebase পরিষেবাগুলির ব্যবহারে ব্যাঘাত না ঘটিয়ে API কীগুলিতে অতিরিক্ত সীমাবদ্ধতা যুক্ত করতে পারেন

পরিবেশ-নির্দিষ্ট API কী ব্যবহার করুন (প্রস্তাবিত)

আপনি যদি বিভিন্ন পরিবেশের জন্য বিভিন্ন ফায়ারবেস প্রজেক্ট সেট আপ করেন, যেমন স্টেজিং এবং প্রোডাকশন, এটা গুরুত্বপূর্ণ যে প্রতিটি অ্যাপ ইনস্ট্যান্স তার সংশ্লিষ্ট ফায়ারবেস প্রোজেক্টের সাথে ইন্টারঅ্যাক্ট করে। উদাহরণস্বরূপ, আপনার স্টেজিং অ্যাপের উদাহরণ আপনার উত্পাদন ফায়ারবেস প্রকল্পের সাথে কথা বলা উচিত নয়। এর মানে হল যে আপনার স্টেজিং অ্যাপকে আপনার স্টেজিং ফায়ারবেস প্রোজেক্টের সাথে যুক্ত API কী ব্যবহার করতে হবে।

কোড পরিবর্তনগুলিকে উন্নয়ন থেকে স্টেজিং থেকে প্রোডাকশনে উন্নীত করার সমস্যাগুলি কমাতে, কোডে API কীগুলি অন্তর্ভুক্ত করার পরিবর্তে, হয় সেগুলিকে পরিবেশের ভেরিয়েবল হিসাবে সেট করুন বা একটি কনফিগারেশন ফাইলে অন্তর্ভুক্ত করুন৷

মনে রাখবেন যে আপনি যদি Firebase ML-এর সাথে ডেভেলপমেন্টের জন্য Firebase লোকাল এমুলেটর স্যুট ব্যবহার করেন, তাহলে আপনাকে অবশ্যই একটি ডিবাগ-অনলি API কী তৈরি করে ব্যবহার করতে হবে। এই ধরনের কী তৈরি করার নির্দেশাবলী Firebase ML ডক্সে পাওয়া যায়।

FAQs