Firebase-এর জন্য API কী সম্পর্কে জানুন এবং ম্যানেজ করুন

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

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

এছাড়াও, আপনি যে Firebase প্রোডাক্ট ব্যবহার করেন তার জন্য সাজেস্ট করা Firebase Security Rules ও App Check ব্যবহার করছেন কিনা তা ভাল করে দেখে নিন।

আপনি Firebase-এর জন্য API কী সম্পর্কে বিস্তারিত জানতে পারবেন এবং Firebase-এর জন্য API কী ব্যবহার ও ম্যানেজ করা সম্পর্কে জানুন লিঙ্কে প্রায়শই জিজ্ঞাসিত প্রশ্নের তালিকা দেখতে পাবেন


এই পৃষ্ঠার বাকি অংশে Firebase-এর জন্য API কী সম্পর্কে বিস্তারিত তথ্য এবং এই কীগুলি সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্নের তালিকা দেওয়া আছে।

API কী এবং Firebase সম্পর্কে সাধারণ তথ্য

Firebase-এর API key সাধারণ API key-এর থেকে আলাদা হয়

API কী সাধারণত যেভাবে ব্যবহার করা হয়, Firebase পরিষেবার জন্য API কী সেভাবে ব্যবহার করা হয় না। ব্যাকএন্ড রিসোর্সের অ্যাক্সেস নিয়ন্ত্রণ করতে এটি ব্যবহার করা হয় না; এটি শুধুমাত্র Firebase Security Rules (কোন ব্যবহারকারী রিসোর্স অ্যাক্সেস করতে পারবেন তা নিয়ন্ত্রণ করতে) এবং Firebase App Check (কোন অ্যাপ রিসোর্স অ্যাক্সেস করতে পারবে তা নিয়ন্ত্রণ করতে) ব্যবহার করা হয়।

সাধারণত, আপনাকে API key খুব সাবধানে সুরক্ষিত রাখতে হয় (যেমন, ভল্ট পরিষেবা ব্যবহার করে বা কীগুলিকে এনভায়রনমেন্ট ভেরিয়েবল হিসেবে সেট করে); তবে, Firebase পরিষেবার API key কোড বা চেক-ইন করা কনফিগারেশন ফাইলে যোগ করলে কোনও সমস্যা হয় না।

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

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

একটি Firebase প্রোজেক্টে অনেক API key থাকতে পারে, তবে প্রতিটি API key শুধুমাত্র একটি Firebase প্রোজেক্টের সাথে যুক্ত করা যেতে পারে।

আপনার Firebase অ্যাপের জন্য Firebase-এর মাধ্যমে অটোমেটিক তৈরি করা API key

আপনি নিম্নলিখিত কোনও কাজ করলে, Firebase আপনার প্রোজেক্টের জন্য অটোমেটিক API কী তৈরি করে:

  • Firebase প্রোজেক্ট তৈরি করুন > Browser key অটোমেটিক তৈরি হয়েছে
  • Firebase Apple অ্যাপ তৈরি করুন > iOS key অটোমেটিক তৈরি হয়েছে
  • Firebase Android অ্যাপ তৈরি করুন > Android key অটোমেটিক তৈরি হয়েছে

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

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

আপনি Google Cloud কনসোলের API ও পরিষেবা > ক্রেডেনশিয়াল পৃষ্ঠা থেকে আপনার প্রোজেক্টের সব API কী দেখতে ও ম্যানেজ করতে পারবেন।

এছাড়াও, আপনি নিম্নলিখিত জায়গা থেকে জানতে পারবেন যে কোন API key অটোমেটিক Firebase App-এর সাথে ম্যাচ করে। ডিফল্ট হিসেবে, আপনার প্রোজেক্টের সব Firebase অ্যাপ একই প্ল্যাটফর্মের জন্য (Apple বনাম Android বনাম ওয়েব) একই API কী ব্যবহার করবে।

  • Firebase Apple অ্যাপ — Firebase কনফিগারেশন ফাইল, GoogleService-Info.plist-এর API_KEY ফিল্ডে অটোমেটিক ম্যাচ করা API কী খুঁজুন।

  • Firebase Android অ্যাপ — Firebase কনফিগারেশন ফাইলের current_key ফিল্ডে, google-services.json, অটোমেটিক ম্যাচ করা API কী খুঁজুন।

  • Firebase ওয়েব অ্যাপ — Firebase কনফিগারেশন অবজেক্টের apiKey ফিল্ডে অটোমেটিক ম্যাচ করা API কী খুঁজুন।

API key ব্যবহার করা

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

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

মনে রাখবেন যে আপনি অন্য কোনও পদ্ধতি ব্যবহার করে আপনার অ্যাপের মধ্যে আপনার অ্যাপের API কী প্রদান করতে পারেন, যেমন Firebase বিকল্প বা এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করা।

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

https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=API_KEY

API কী-তে উপযুক্ত বিধিনিষেধ পর্যালোচনা ও প্রয়োগ করুন

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

আপনার Firebase API কী-এর জন্য অনুমোদিত তালিকায় অটোমেটিক যোগ করা API পর্যালোচনা করুন

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

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

এই বিষয়ে প্রায়শই জিজ্ঞাসিত প্রশ্ন থেকে আরও জানুন।

আপনি পাসওয়ার্ড-ভিত্তিক Authentication ব্যবহার করলে কোটা আরও কঠোর করুন

আপনি যদি পাসওয়ার্ড-ভিত্তিক Firebase Authentication ব্যবহার করেন এবং কেউ আপনার API কী পেয়ে যায়, তাহলে সে আপনার Firebase প্রোজেক্টের কোনও ডেটাবেস বা Cloud Storage ডেটা অ্যাক্সেস করতে পারবে না যতক্ষণ না এই ডেটা Firebase Security Rules দ্বারা সুরক্ষিত থাকে। তবে, তারা আপনার API কী ব্যবহার করে Firebase-এর যাচাইকরণ এন্ডপয়েন্ট অ্যাক্সেস করতে এবং আপনার প্রোজেক্টের জন্য যাচাইকরণের অনুরোধ করতে পারে।

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

Firebase ছাড়া অন্য যেকোনও পরিষেবার জন্য আলাদা, সীমাবদ্ধ API key ব্যবহার করুন

Firebase পরিষেবার জন্য ব্যবহৃত API কী সাধারণত গোপন রাখার প্রয়োজন হয় না, তবে অন্যান্য Google Cloud API-এর সাথে ব্যবহৃত API কী-এর ক্ষেত্রে আপনাকে অতিরিক্ত সতর্কতা অবলম্বন করতে হবে।

আপনি যদি এমন কোনও Google Cloud API (যেকোনও প্ল্যাটফর্মে) ব্যবহার করেন যা Firebase পরিষেবা / প্রোডাক্টের জন্য নয়, তাহলে আমরা সেইসব API-এর সাথে ব্যবহার করার জন্য আলাদা, সীমাবদ্ধ API key তৈরি করার জন্য বিশেষভাবে সাজেস্ট করি। API যদি কোনও বিলযোগ্য Google Cloud পরিষেবার জন্য হয়, তাহলে এটি অত্যন্ত গুরুত্বপূর্ণ। বিশেষ করে, সর্বজনীনভাবে অ্যাক্সেসযোগ্য API key বা অন্য পরিষেবার জন্য ব্যবহৃত কী-এর জন্য অনুমতি তালিকায় কখনও Gemini Developer API অন্তর্ভুক্ত করবেন না।

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

এনভায়রনমেন্ট-নির্দিষ্ট API কী ব্যবহার করুন

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

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

প্রায়শই জিজ্ঞাসিত প্রশ্ন ও সমস্যার সমাধান

প্রায়শই জিজ্ঞাসিত প্রশ্ন

সমস্যার সমাধান