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

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

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

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

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

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

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

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

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

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

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

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

You can also create your own API keys in the Google Cloud console , for example for development or debugging . Learn more about when this might be recommended later on this page.

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

You can view and manage all your project's API keys in the APIs & Services > Credentials panel in the Google Cloud console.

এছাড়াও আপনি নিম্নলিখিত স্থানে কোন API কী স্বয়ংক্রিয়ভাবে একটি Firebase অ্যাপের সাথে মিলছে তা খুঁজে পেতে পারেন। By default, all of your project's Firebase Apps for the same platform (Apple vs Android vs Web) will use the same API key.

  • Firebase Apple Apps — Find the auto-matched API key in the Firebase config file, GoogleService-Info.plist , in the API_KEY field.

  • Firebase Android Apps — Find the auto-matched API key in the Firebase config file, google-services.json , in the current_key field.

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

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

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

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

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

When your app makes a call to a Firebase API that requires an API key provided by the mobile/web client, your app will automatically look in the Firebase config file/object for your project's API key. যাইহোক, আপনি পরিবেশের ভেরিয়েবল সহ একটি ভিন্ন প্রক্রিয়া ব্যবহার করে আপনার অ্যাপের জন্য API কী প্রদান করতে পারেন।

Review and apply appropriate restrictions to API keys (recommended)

Although it's not necessary to treat an API key for Firebase services as a secret, you should review and apply restrictions and limits as described in this section.

আপনার 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

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