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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FAQs

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