আপনার সার্ভারে Firebase অ্যাডমিন SDK যোগ করুন

Admin SDK হল সার্ভার লাইব্রেরির একটি সেট যা আপনাকে বিশেষায়িত পরিবেশ থেকে Firebase এর সাথে ইন্টারঅ্যাক্ট করতে দেয় যেমন:

  • সম্পূর্ণ অ্যাডমিন সুবিধা সহ বাল্ক ডেটা পরিচালনা এবং অন্যান্য ক্রিয়াকলাপের জন্য একটি Firebase Data Connect পরিষেবাতে প্রশ্ন এবং মিউটেশন সম্পাদন করুন।
  • সম্পূর্ণ অ্যাডমিন সুবিধা সহ Realtime Database ডেটা পড়ুন এবং লিখুন।
  • Firebase Cloud Messaging Firebase Cloud Messaging মেসেজিং বার্তা পাঠান।
  • Firebase প্রমাণীকরণ টোকেন তৈরি এবং যাচাই করুন।
  • আপনার Firebase প্রকল্পের সাথে সম্পর্কিত Cloud Storage বাকেট এবং Cloud Firestore ডেটাবেসের মতো Google Cloud রিসোর্স অ্যাক্সেস করুন।
  • ব্যবহারকারীর ডেটা খোঁজা বা প্রমাণীকরণের জন্য ব্যবহারকারীর ইমেল ঠিকানা পরিবর্তন করার মতো কাজ করার জন্য আপনার নিজস্ব সরলীকৃত অ্যাডমিন কনসোল তৈরি করুন।

যদি আপনি Node.js SDK কে ক্লায়েন্ট হিসেবে এন্ড-ইউজার অ্যাক্সেসের জন্য ব্যবহার করতে আগ্রহী হন (উদাহরণস্বরূপ, Node.js ডেস্কটপ বা IoT অ্যাপ্লিকেশনে), বিশেষায়িত পরিবেশ (যেমন একটি সার্ভার) থেকে অ্যাডমিন অ্যাক্সেসের বিপরীতে, তাহলে আপনার ক্লায়েন্ট JavaScript SDK সেট আপ করার নির্দেশাবলী অনুসরণ করা উচিত।

এখানে একটি ফিচার ম্যাট্রিক্স দেওয়া হল যা দেখায় যে প্রতিটি ভাষায় কোন কোন ফায়ারবেস ফিচার সমর্থিত:

বৈশিষ্ট্য নোড.জেএস জাভা পাইথন যাও সি#
কাস্টম টোকেন মিন্টিং
আইডি টোকেন যাচাইকরণ
ব্যবহারকারী ব্যবস্থাপনা
কাস্টম দাবির মাধ্যমে অ্যাক্সেস নিয়ন্ত্রণ করুন
টোকেন প্রত্যাহার রিফ্রেশ করুন
ব্যবহারকারীদের আমদানি করুন
সেশন কুকি ম্যানেজমেন্ট
ইমেল অ্যাকশন লিঙ্ক তৈরি করা হচ্ছে
SAML/OIDC প্রদানকারী কনফিগারেশন পরিচালনা করা
বহু-ভাড়াটে সহায়তা
Firebase Data Connect
Realtime Database *
Firebase Cloud Messaging
FCM মাল্টিকাস্ট
FCM টপিক সাবস্ক্রিপশন পরিচালনা করুন
Cloud Storage
Cloud Firestore
ক্লাউড টাস্কের সাথে এনকিউ ফাংশন
প্রকল্প ব্যবস্থাপনা
নিরাপত্তা বিধি
এমএল মডেল ম্যানেজমেন্ট
Firebase Remote Config
Firebase App Check
Firebase Extensions

এই ব্যবহারের জন্য Admin SDK ইন্টিগ্রেশন সম্পর্কে আরও জানতে, সংশ্লিষ্ট Realtime Database , FCM , Authentication , Remote Config এবং Cloud Storage ডকুমেন্টেশন দেখুন। এই পৃষ্ঠার বাকি অংশ Admin SDK এর জন্য মৌলিক সেটআপের উপর আলোকপাত করে।

পূর্বশর্ত

  • নিশ্চিত করুন যে আপনার একটি সার্ভার অ্যাপ আছে।

  • আপনি কোন Admin SDK ব্যবহার করছেন তার উপর নির্ভর করে আপনার সার্ভার নিম্নলিখিতগুলি চালাচ্ছে কিনা তা নিশ্চিত করুন:

    • অ্যাডমিন নোড.জেএস এসডিকে — নোড.জেএস ১৮+
    • অ্যাডমিন জাভা এসডিকে — জাভা ৮+
    • অ্যাডমিন পাইথন SDK — পাইথন 3.9+ (পাইথন 3.10+ সুপারিশ করুন)
      পাইথন ৩.৯ সাপোর্ট বন্ধ করা হয়েছে।
    • অ্যাডমিন গো এসডিকে — গো ১.২৩+
    • অ্যাডমিন .NET SDK — .NET ফ্রেমওয়ার্ক 4.6.2+ অথবা .NET স্ট্যান্ডার্ড 2.0 অথবা .NET 6.0+ (.NET 8.0+ সুপারিশ করুন)
      .NET 6.0 এবং 7.0 সমর্থন বন্ধ করা হয়েছে।

একটি Firebase প্রকল্প এবং পরিষেবা অ্যাকাউন্ট সেট আপ করুন

Firebase Admin SDK ব্যবহার করতে, আপনার নিম্নলিখিতগুলি প্রয়োজন হবে:

  • একটি ফায়ারবেস প্রকল্প।
  • Firebase-এর সাথে যোগাযোগ করার জন্য একটি Firebase অ্যাডমিন SDK পরিষেবা অ্যাকাউন্ট। আপনি যখন একটি Firebase প্রকল্প তৈরি করেন বা একটি Google ক্লাউড প্রকল্পে Firebase যোগ করেন তখন এই পরিষেবা অ্যাকাউন্টটি স্বয়ংক্রিয়ভাবে তৈরি হয়।
  • আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্র সহ একটি কনফিগারেশন ফাইল।

যদি আপনার কাছে ইতিমধ্যেই Firebase প্রকল্প না থাকে, তাহলে আপনাকে Firebase কনসোলে একটি তৈরি করতে হবে। Firebase প্রকল্প সম্পর্কে আরও জানতে Understand Firebase প্রকল্পগুলি দেখুন।

SDK যোগ করুন

যদি আপনি একটি নতুন প্রকল্প স্থাপন করেন, তাহলে আপনার পছন্দের ভাষার জন্য SDK ইনস্টল করতে হবে।

নোড.জেএস

Firebase Admin Node.js SDK npm-এ উপলব্ধ। যদি আপনার কাছে ইতিমধ্যেই একটি package.json ফাইল না থাকে, তাহলে npm init মাধ্যমে একটি তৈরি করুন। এরপর, firebase-admin npm প্যাকেজটি ইনস্টল করুন এবং এটি আপনার package.json এ সংরক্ষণ করুন:

npm install firebase-admin --save

আপনার অ্যাপ্লিকেশনে মডিউলটি ব্যবহার করতে, যেকোনো জাভাস্ক্রিপ্ট ফাইল থেকে এটি require :

const { initializeApp } = require('firebase-admin/app');

আপনি যদি ES2015 ব্যবহার করেন, তাহলে আপনি মডিউলটি import করতে পারেন:

import { initializeApp } from 'firebase-admin/app';

জাভা

Firebase Admin Java SDK Maven কেন্দ্রীয় সংগ্রহস্থলে প্রকাশিত হয়। লাইব্রেরি ইনস্টল করতে, আপনার build.gradle ফাইলে এটিকে একটি নির্ভরতা হিসেবে ঘোষণা করুন:

dependencies {
  implementation 'com.google.firebase:firebase-admin:9.7.0'
}

যদি আপনি আপনার অ্যাপ্লিকেশন তৈরি করতে Maven ব্যবহার করেন, তাহলে আপনি আপনার pom.xml এ নিম্নলিখিত নির্ভরতা যোগ করতে পারেন:

<dependency>
  <groupId>com.google.firebase</groupId>
  <artifactId>firebase-admin</artifactId>
  <version>9.7.0</version>
</dependency>

পাইথন

ফায়ারবেস অ্যাডমিন পাইথন SDK pip এর মাধ্যমে উপলব্ধ। আপনি sudo মাধ্যমে সমস্ত ব্যবহারকারীর জন্য লাইব্রেরি ইনস্টল করতে পারেন:

sudo pip install firebase-admin

অথবা, আপনি --user পতাকাটি পাস করে শুধুমাত্র বর্তমান ব্যবহারকারীর জন্য লাইব্রেরি ইনস্টল করতে পারেন:

pip install --user firebase-admin

যাও

Go Admin SDK go get ইউটিলিটি ব্যবহার করে ইনস্টল করা যেতে পারে:

# Install the latest version:
go get firebase.google.com/go/v4@latest

# Or install a specific version:
go get firebase.google.com/go/v4@4.18.0

সি#

.NET প্যাকেজ ম্যানেজার ব্যবহার করে .NET Admin SDK ইনস্টল করা যেতে পারে:

Install-Package FirebaseAdmin -Version 3.4.0

বিকল্পভাবে, dotnet কমান্ড-লাইন ইউটিলিটি ব্যবহার করে এটি ইনস্টল করুন:

dotnet add package FirebaseAdmin --version 3.4.0

অথবা, আপনি আপনার .csproj ফাইলে নিম্নলিখিত প্যাকেজ রেফারেন্স এন্ট্রি যোগ করে এটি ইনস্টল করতে পারেন:

<ItemGroup>
  <PackageReference Include="FirebaseAdmin" Version="3.4.0" />
</ItemGroup>

SDK আরম্ভ করুন

একবার আপনি একটি Firebase প্রকল্প তৈরি করার পরে, আপনি Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে SDK চালু করতে পারেন। যেহেতু ডিফল্ট শংসাপত্র অনুসন্ধান Google পরিবেশে সম্পূর্ণরূপে স্বয়ংক্রিয়, পরিবেশ ভেরিয়েবল বা অন্যান্য কনফিগারেশন সরবরাহ করার প্রয়োজন হয় না, তাই SDK চালু করার এই পদ্ধতিটি Google পরিবেশে চলমান অ্যাপ্লিকেশন যেমন Firebase App Hosting , ক্লাউড রান, অ্যাপ ইঞ্জিন এবং Cloud Functions for Firebase জন্য জোরালোভাবে সুপারিশ করা হয়।

Realtime Database , Cloud Storage , অথবা Cloud Functions মতো পরিষেবাগুলির জন্য ঐচ্ছিকভাবে ইনিশিয়ালাইজেশন বিকল্পগুলি নির্দিষ্ট করতে, FIREBASE_CONFIG এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন। যদি FIREBASE_CONFIG ভেরিয়েবলের বিষয়বস্তু { দিয়ে শুরু হয় তবে এটি একটি JSON অবজেক্ট হিসাবে পার্স করা হবে। অন্যথায় SDK ধরে নেয় যে স্ট্রিংটি বিকল্পগুলি ধারণকারী একটি JSON ফাইলের পথ।

নোড.জেএস

const app = initializeApp();

জাভা

FirebaseApp.initializeApp();

পাইথন

default_app = firebase_admin.initialize_app()

যাও

app, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

সি#

FirebaseApp.Create();

একবার এটি শুরু হয়ে গেলে, আপনি নিম্নলিখিত ধরণের কাজগুলি সম্পন্ন করতে Admin SDK ব্যবহার করতে পারেন:

একটি OAuth 2.0 রিফ্রেশ টোকেন ব্যবহার করা হচ্ছে

Admin SDK একটি শংসাপত্রও প্রদান করে যা আপনাকে Google OAuth2 রিফ্রেশ টোকেন দিয়ে প্রমাণীকরণ করতে দেয়:

নোড.জেএস

const myRefreshToken = '...'; // Get refresh token from OAuth2 flow

initializeApp({
  credential: refreshToken(myRefreshToken),
  databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});

জাভা

FileInputStream refreshToken = new FileInputStream("path/to/refreshToken.json");

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.fromStream(refreshToken))
    .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
    .build();

FirebaseApp.initializeApp(options);

পাইথন

cred = credentials.RefreshToken('path/to/refreshToken.json')
default_app = firebase_admin.initialize_app(cred)

যাও

opt := option.WithCredentialsFile("path/to/refreshToken.json")
config := &firebase.Config{ProjectID: "my-project-id"}
app, err := firebase.NewApp(context.Background(), config, opt)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

সি#

FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.FromFile("path/to/refreshToken.json"),
});

Google-বহির্ভূত পরিবেশে SDK চালু করুন

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

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

একটি পরিষেবা অ্যাকাউন্ট প্রমাণীকরণ করতে এবং Firebase পরিষেবাগুলিতে অ্যাক্সেস করার জন্য এটিকে অনুমোদন করতে, আপনাকে অবশ্যই JSON ফর্ম্যাটে একটি ব্যক্তিগত কী ফাইল তৈরি করতে হবে।

আপনার পরিষেবা অ্যাকাউন্টের জন্য একটি ব্যক্তিগত কী ফাইল তৈরি করতে:

  1. Firebase কনসোলে, Settings > Service Accounts খুলুন।

  2. নতুন প্রাইভেট কী তৈরি করুন ক্লিক করুন, তারপর কী তৈরি করুন ক্লিক করে নিশ্চিত করুন।

  3. কীটি ধারণকারী JSON ফাইলটি নিরাপদে সংরক্ষণ করুন।

কোনও পরিষেবা অ্যাকাউন্টের মাধ্যমে অনুমোদন দেওয়ার সময়, আপনার অ্যাপ্লিকেশনে শংসাপত্র সরবরাহ করার জন্য আপনার কাছে দুটি বিকল্প রয়েছে। আপনি হয় GOOGLE_APPLICATION_CREDENTIALS পরিবেশ পরিবর্তনশীল সেট করতে পারেন, অথবা আপনি কোডে পরিষেবা অ্যাকাউন্ট কী-তে স্পষ্টভাবে পথটি পাস করতে পারেন। প্রথম বিকল্পটি আরও নিরাপদ এবং এটি দৃঢ়ভাবে সুপারিশ করা হয়।

পরিবেশ পরিবর্তনশীল সেট করতে:

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

লিনাক্স বা ম্যাকওএস

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

জানালা

পাওয়ারশেলের সাথে:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"

উপরের ধাপগুলি সম্পন্ন করার পরে, অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) আপনার ক্রেডেনশিয়ালগুলি পরোক্ষভাবে নির্ধারণ করতে সক্ষম হবে, যা আপনাকে নন-গুগল পরিবেশে পরীক্ষা করার সময় বা চালানোর সময় পরিষেবা অ্যাকাউন্ট ক্রেডেনশিয়ালগুলি ব্যবহার করার অনুমতি দেবে।

দেখানো পদ্ধতিতে SDK আরম্ভ করুন:

নোড.জেএস

initializeApp({
    credential: applicationDefault(),
    databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});

জাভা

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.getApplicationDefault())
    .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
    .build();

FirebaseApp.initializeApp(options);

পাইথন

default_app = firebase_admin.initialize_app()

যাও

app, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

সি#

FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.GetApplicationDefault(),
    ProjectId = "my-project-id",
});

একাধিক অ্যাপ চালু করুন

বেশিরভাগ ক্ষেত্রে, আপনাকে কেবল একটি একক, ডিফল্ট অ্যাপ চালু করতে হবে। আপনি দুটি সমতুল্য উপায়ে সেই অ্যাপের পরিষেবাগুলি অ্যাক্সেস করতে পারেন:

নোড.জেএস

// Initialize the default app
const defaultApp = initializeApp(defaultAppConfig);

console.log(defaultApp.name);  // '[DEFAULT]'

// Retrieve services via the defaultApp variable...
let defaultAuth = getAuth(defaultApp);
let defaultDatabase = getDatabase(defaultApp);

// ... or use the equivalent shorthand notation
defaultAuth = getAuth();
defaultDatabase = getDatabase();

জাভা

// Initialize the default app
FirebaseApp defaultApp = FirebaseApp.initializeApp(defaultOptions);

System.out.println(defaultApp.getName());  // "[DEFAULT]"

// Retrieve services by passing the defaultApp variable...
FirebaseAuth defaultAuth = FirebaseAuth.getInstance(defaultApp);
FirebaseDatabase defaultDatabase = FirebaseDatabase.getInstance(defaultApp);

// ... or use the equivalent shorthand notation
defaultAuth = FirebaseAuth.getInstance();
defaultDatabase = FirebaseDatabase.getInstance();

পাইথন

# Import the Firebase service
from firebase_admin import auth

# Initialize the default app
default_app = firebase_admin.initialize_app(cred)
print(default_app.name)  # "[DEFAULT]"

# Retrieve services via the auth package...
# auth.create_custom_token(...)

যাও

// Initialize default app
app, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

// Access auth service from the default app
client, err := app.Auth(context.Background())
if err != nil {
	log.Fatalf("error getting Auth client: %v\n", err)
}

সি#

// Initialize the default app
var defaultApp = FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.GetApplicationDefault(),
});
Console.WriteLine(defaultApp.Name); // "[DEFAULT]"

// Retrieve services by passing the defaultApp variable...
var defaultAuth = FirebaseAuth.GetAuth(defaultApp);

// ... or use the equivalent shorthand notation
defaultAuth = FirebaseAuth.DefaultInstance;

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

নোড.জেএস

// Initialize the default app
initializeApp(defaultAppConfig);

// Initialize another app with a different config
var otherApp = initializeApp(otherAppConfig, 'other');

console.log(getApp().name);  // '[DEFAULT]'
console.log(otherApp.name);     // 'other'

// Use the shorthand notation to retrieve the default app's services
const defaultAuth = getAuth();
const defaultDatabase = getDatabase();

// Use the otherApp variable to retrieve the other app's services
const otherAuth = getAuth(otherApp);
const otherDatabase = getDatabase(otherApp);

জাভা

// Initialize the default app
FirebaseApp defaultApp = FirebaseApp.initializeApp(defaultOptions);

// Initialize another app with a different config
FirebaseApp otherApp = FirebaseApp.initializeApp(otherAppConfig, "other");

System.out.println(defaultApp.getName());  // "[DEFAULT]"
System.out.println(otherApp.getName());    // "other"

// Use the shorthand notation to retrieve the default app's services
FirebaseAuth defaultAuth = FirebaseAuth.getInstance();
FirebaseDatabase defaultDatabase = FirebaseDatabase.getInstance();

// Use the otherApp variable to retrieve the other app's services
FirebaseAuth otherAuth = FirebaseAuth.getInstance(otherApp);
FirebaseDatabase otherDatabase = FirebaseDatabase.getInstance(otherApp);

পাইথন

# Initialize the default app
default_app = firebase_admin.initialize_app(cred)

#  Initialize another app with a different config
other_app = firebase_admin.initialize_app(cred, name='other')

print(default_app.name)    # "[DEFAULT]"
print(other_app.name)      # "other"

# Retrieve default services via the auth package...
# auth.create_custom_token(...)

# Use the `app` argument to retrieve the other app's services
# auth.create_custom_token(..., app=other_app)

যাও

// Initialize the default app
defaultApp, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

// Initialize another app with a different config
opt := option.WithCredentialsFile("service-account-other.json")
otherApp, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

// Access Auth service from default app
defaultClient, err := defaultApp.Auth(context.Background())
if err != nil {
	log.Fatalf("error getting Auth client: %v\n", err)
}

// Access auth service from other app
otherClient, err := otherApp.Auth(context.Background())
if err != nil {
	log.Fatalf("error getting Auth client: %v\n", err)
}

সি#

// Initialize the default app
var defaultApp = FirebaseApp.Create(defaultOptions);

// Initialize another app with a different config
var otherApp = FirebaseApp.Create(otherAppConfig, "other");

Console.WriteLine(defaultApp.Name); // "[DEFAULT]"
Console.WriteLine(otherApp.Name); // "other"

// Use the shorthand notation to retrieve the default app's services
var defaultAuth = FirebaseAuth.DefaultInstance;

// Use the otherApp variable to retrieve the other app's services
var otherAuth = FirebaseAuth.GetAuth(otherApp);

Realtime Database এবং Authentication জন্য স্কোপ সেট করুন

যদি আপনি Realtime Database বা Authentication জন্য গুগল অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র সহ একটি গুগল কম্পিউট ইঞ্জিন ভিএম ব্যবহার করেন, তাহলে সঠিক অ্যাক্সেস স্কোপ সেট করতে ভুলবেন না। Realtime Database এবং Authentication জন্য, আপনার userinfo.email দিয়ে শেষ হওয়া স্কোপ এবং cloud-platform অথবা firebase.database প্রয়োজন। বিদ্যমান অ্যাক্সেস স্কোপগুলি পরীক্ষা করতে এবং সেগুলি পরিবর্তন করতে, gcloud ব্যবহার করে নিম্নলিখিত কমান্ডগুলি চালান।

জিক্লাউড

# Check the existing access scopes
gcloud compute instances describe [INSTANCE_NAME] --format json

# The above command returns the service account information. For example:
  "serviceAccounts": [
   {
    "email": "your.gserviceaccount.com",
    "scopes": [
     "https://www.googleapis.com/auth/cloud-platform",
     "https://www.googleapis.com/auth/userinfo.email"
     ]
    }
  ],

# Stop the VM, then run the following command, using the service account
# that gcloud returned when you checked the scopes.

gcloud compute instances set-service-account [INSTANCE_NAME] --service-account "your.gserviceaccount.com" --scopes "https://www.googleapis.com/auth/firebase.database,https://www.googleapis.com/auth/userinfo.email"

gcloud শেষ ব্যবহারকারীর শংসাপত্রের সাথে পরীক্ষা করা হচ্ছে

gcloud auth application-default login চালানোর মাধ্যমে প্রাপ্ত Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রগুলির সাথে স্থানীয়ভাবে Admin SDK পরীক্ষা করার সময়, নিম্নলিখিত কারণে Firebase Authentication ব্যবহার করার জন্য অতিরিক্ত পরিবর্তন প্রয়োজন:

  • Firebase Authentication gcloud OAuth ক্লায়েন্ট আইডি ব্যবহার করে তৈরি করা gcloud শেষ ব্যবহারকারীর শংসাপত্র গ্রহণ করে না।
  • এই ধরণের শেষ ব্যবহারকারীর শংসাপত্রের জন্য Firebase Authentication প্রমাণীকরণের জন্য প্রজেক্ট আইডি ইনিশিয়ালাইজেশনের সময় প্রদান করা প্রয়োজন।

সমাধান হিসেবে, আপনি আপনার নিজস্ব OAuth 2.0 ক্লায়েন্ট আইডি ব্যবহার করে gcloud- এ Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র তৈরি করতে পারেন। OAuth ক্লায়েন্ট আইডিটি একটি ডেস্কটপ অ্যাপ অ্যাপ্লিকেশন টাইপ হতে হবে।

জিক্লাউড

gcloud auth application-default login --client-id-file=[/path/to/client/id/file]

অ্যাপ ইনিশিয়ালাইজেশনের সময় আপনি প্রজেক্ট আইডি স্পষ্টভাবে নির্দিষ্ট করতে পারেন অথবা GOOGLE_CLOUD_PROJECT এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করতে পারেন। পরবর্তীটি আপনার কোড পরীক্ষা করার জন্য কোনও অতিরিক্ত পরিবর্তন করার প্রয়োজন এড়ায়।

প্রকল্প আইডি স্পষ্টভাবে উল্লেখ করতে:

নোড.জেএস

import { initializeApp, applicationDefault } from 'firebase-admin/app';

initializeApp({
  credential: applicationDefault(),
  projectId: '<FIREBASE_PROJECT_ID>',
});

জাভা

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.getApplicationDefault())
    .setProjectId("<FIREBASE_PROJECT_ID>")
    .build();

FirebaseApp.initializeApp(options);

পাইথন

app_options = {'projectId': '<FIREBASE_PROJECT_ID>'}
default_app = firebase_admin.initialize_app(options=app_options)

যাও

config := &firebase.Config{ProjectID: "<FIREBASE_PROJECT_ID>"}
app, err := firebase.NewApp(context.Background(), config)
if err != nil {
        log.Fatalf("error initializing app: %v\n", err)
}

সি#

FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.GetApplicationDefault(),
    ProjectId = "<FIREBASE_PROJECT_ID>",
});

পরবর্তী পদক্ষেপ

ফায়ারবেস সম্পর্কে জানুন:

আপনার অ্যাপে Firebase বৈশিষ্ট্য যোগ করুন:

  • Cloud Functions দিয়ে একটি সার্ভারলেস ব্যাকএন্ড লিখুন।
  • Realtime Database দিয়ে তথ্য সংরক্ষণ করুন অথবা Cloud Storage দিয়ে ব্লব ডেটা সংরক্ষণ করুন।
  • Cloud Messaging মাধ্যমে বিজ্ঞপ্তি পান।