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

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

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

Firebase-এর জন্য API কীগুলি সাধারণ API কীগুলির থেকে আলাদা।

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

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

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

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

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

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

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

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

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

আপনার API কীগুলি খুঁজে বের করা

আপনি Google Cloud কনসোলের APIs & Services > Credentials প্যানেলে আপনার সমস্ত প্রকল্পের API কী দেখতে এবং পরিচালনা করতে পারবেন।

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

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

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

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

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

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

বেশিরভাগ ডেভেলপার এবং ব্যবহারের ক্ষেত্রে, আপনি সরাসরি এই API কীগুলির সাথে ইন্টারঅ্যাক্ট করেন না। পরিবর্তে, যখন আপনার অ্যাপটি এমন একটি 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 কী পর্যালোচনা করুন এবং যথাযথ বিধিনিষেধ প্রয়োগ করুন (প্রস্তাবিত)

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

আপনার Firebase API কীগুলির জন্য অ্যালাউলিস্টে স্বয়ংক্রিয়ভাবে যোগ হওয়া API গুলি পর্যালোচনা করুন।

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

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

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

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

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

যেকোনো নন-ফায়ারবেস পরিষেবার জন্য পৃথক, সীমাবদ্ধ API কী ব্যবহার করুন

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

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

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

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

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

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

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

মনে রাখবেন, যদি আপনি Firebase ML সাথে ডেভেলপমেন্টের জন্য Firebase Local Emulator Suite ব্যবহার করেন, তাহলে আপনাকে অবশ্যই একটি debug-only API কী তৈরি করতে হবে এবং ব্যবহার করতে হবে। এই ধরণের কী তৈরি করার নির্দেশাবলী Firebase ML ডক্সে পাওয়া যাবে।

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী এবং সমস্যা সমাধান

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

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