ফায়ারবেসের জন্য API কীগুলি ব্যবহার এবং পরিচালনা সম্পর্কে শিখুন

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

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

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

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

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

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

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

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

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

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

  • একটি Firebase প্রকল্পের তৈরি করুন> Browser key স্বতঃ-তৈরি
  • তৈরি করুন একটি Firebase অ্যাপল App> iOS key স্বতঃ-তৈরি
  • তৈরি করুন একটি Firebase অ্যান্ড্রয়েড অ্যাপ্লিকেশান> Android key স্বতঃ-তৈরি

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

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

আপনি সব আপনার প্রকল্পের API কীগুলির দেখতে এবং পরিচালনা করতে পারেন API গুলি ও সার্ভিস> শংসাপত্রের Google মেঘ কনসোলে প্যানেল।

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

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

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

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

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

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

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

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

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

API কীগুলির করার নিষেধাজ্ঞা প্রযোজ্য (প্রস্তাবিত)

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

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

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

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

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

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

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

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

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

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

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

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

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

FAQs