इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

Firebase Admin SDK को अपने सर्वर में जोड़ें

एडमिन SDK आपको विशेषाधिकारित वातावरण से Firebase के साथ क्रिया करने की सुविधा देता है:

  • पूर्ण व्यवस्थापक विशेषाधिकारों के साथ रीयलटाइम डेटाबेस डेटा पढ़ें और लिखें।
  • प्रोग्रामबेस को फायरबेस क्लाउड मेसेजिंग सर्वर प्रोटोकॉल के लिए एक सरल, वैकल्पिक दृष्टिकोण का उपयोग करके फायरबेस क्लाउड मैसेजिंग संदेश भेजें।
  • जेनरेट करें और फायरबेस को टोकन को सत्यापित करें।
  • Google संग्रहण प्लेटफ़ॉर्म संसाधनों जैसे क्लाउड स्टोरेज बाल्टी और क्लाउड फायरस्टोर डेटाबेस अपने फायरबेस परियोजनाओं से जुड़े।
  • उपयोगकर्ता डेटा देखने या प्रमाणीकरण के लिए उपयोगकर्ता के ईमेल पते को बदलने जैसे काम करने के लिए अपना सरलीकृत व्यवस्थापक कंसोल बनाएं।

यदि आप एंड-यूज़र एक्सेस के लिए क्लाइंट के रूप में Node.js SDK का उपयोग करने में रुचि रखते हैं (उदाहरण के लिए, Node.js डेस्कटॉप या IoT एप्लिकेशन में), तो एक विशेषाधिकार प्राप्त वातावरण (एक सर्वर की तरह) से एक्सेस करने का विरोध करने पर, आपको इसके बजाय क्लाइंट जावास्क्रिप्ट एसडीके स्थापित करने के निर्देशों का पालन करना चाहिए।

यहां एक फीचर मैट्रिक्स दिखाया गया है, जिसमें प्रत्येक भाषा में फायरबेस की सुविधाओं का समर्थन किया गया है:

फ़ीचर Node.js जावा अजगर जाओ सी#
कस्टम टोकन मिनिंग
आईडी टोकन सत्यापन
उपयोगकर्ता प्रबंधन
कस्टम दावों के साथ नियंत्रण पहुंच
टोकन निरस्तीकरण को ताज़ा करें
उपयोगकर्ताओं को आयात करें
सत्र कुकी प्रबंधन
ईमेल लड़ाई लिंक उत्पन्न करना
SAML / OIDC प्रदाता कॉन्फ़िगरेशन का प्रबंधन
मल्टी-टेनेंसी सपोर्ट
रियलटाइम डेटाबेस *
फायरबेस क्लाउड मेसेजिंग
एफसीएम मल्टीकास्ट
FCM विषय सदस्यता प्रबंधित करें
बादल भंडारण
क्लाउड फायरस्टार
परियोजना प्रबंधन
सुरक्षा नियम
एमएल मॉडल प्रबंधन
Firebase Remote Config

इन उपयोगों के लिए व्यवस्थापक SDK एकीकरण के बारे में अधिक जानने के लिए, संबंधित रीयलटाइम डेटाबेस , FCM , प्रमाणीकरण और क्लाउड स्टोरेज प्रलेखन देखें। इस पृष्ठ का शेष भाग SDK के लिए मूल सेटअप पर केंद्रित है।

आवश्यक शर्तें

  • सुनिश्चित करें कि आपके पास एक सर्वर ऐप है।

  • सुनिश्चित करें कि आपका सर्वर निम्न का उपयोग करता है जिसके आधार पर SDK जो आप उपयोग करते हैं:

    • व्यवस्थापक Node.js SDK - Node.js 10.10.0+
    • व्यवस्थापक जावा एसडीके - जावा 7+ (जावा 8+ की सिफारिश करें)
      जावा 7 सपोर्ट को अपदस्थ किया गया है।
    • व्यवस्थापक पायथन एसडीके - पायथन 3.5+
    • एडमिन गो एसडीके - गो 1.11+
    • व्यवस्थापक .NET SDK - .NET फ्रेमवर्क 4.5+ या .Net कोर 1.5+

फायरबेस परियोजना और सेवा खाता स्थापित करें

फायरबेस व्यवस्थापक एसडीके का उपयोग करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:

  • एक फायरबेस परियोजना
  • फायरबेस के साथ संवाद करने के लिए एक सेवा खाता
  • आपके सेवा खाते के क्रेडेंशियल्स के साथ एक कॉन्फ़िगरेशन फ़ाइल

यदि आपके पास पहले से ही फायरबेस प्रोजेक्ट नहीं है, तो आपको फायरबेस कंसोल में एक बनाने की आवश्यकता है। Firebase परियोजनाओं के बारे में अधिक जानने के लिए Firebase परियोजनाओं को समझें

एसडीके जोड़ें

यदि आप एक नई परियोजना स्थापित कर रहे हैं, तो आपको अपनी पसंद की भाषा के लिए एसडीके स्थापित करने की आवश्यकता है।

Node.js

Firebase Admin Node.js SDK npm पर उपलब्ध है। यदि आपके पास पहले से कोई package.json नहीं है package.json फाइल फ़ाइल, npm init माध्यम से एक बनाएँ। इसके बाद, firebase-admin npm पैकेज स्थापित करें और इसे अपने package.json सहेजें package.json :

 $ npm install firebase-admin --save
 

अपने एप्लिकेशन में मॉड्यूल का उपयोग करने के लिए, उसे किसी भी जावास्क्रिप्ट फ़ाइल से require है:

 var admin = require('firebase-admin');
 

यदि आप ES2015 का उपयोग कर रहे हैं, तो आप इसके बजाय मॉड्यूल import कर सकते import :

 import * as admin from 'firebase-admin';
 

जावा

फायरबेस व्यवस्थापक जावा एसडीके मावेन केंद्रीय भंडार में प्रकाशित होता है। पुस्तकालय स्थापित करने के लिए, इसे अपनी build.gradle फ़ाइल में निर्भरता के रूप में घोषित करें:

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

यदि आप अपने आवेदन को बनाने के लिए मावेन का उपयोग करते हैं, तो आप अपने pom.xml निम्न निर्भरता जोड़ सकते हैं:

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

अजगर

Firebase Admin Python SDK पाइप के माध्यम से उपलब्ध है। आप sudo माध्यम से सभी उपयोगकर्ताओं के लिए पुस्तकालय स्थापित कर सकते हैं:

 $ sudo pip install firebase-admin
 

या, आप --user ध्वज को पास करके केवल वर्तमान उपयोगकर्ता के लिए लाइब्रेरी स्थापित कर सकते हैं:

 $ pip install --user firebase-admin
 

जाओ

जाओ नियंत्रक SDK का उपयोग कर स्थापित किया जा सकता go get उपयोगिता:

 # Install as a module dependency
$ go get firebase.google.com/go/v4

# Install to $GOPATH
$ go get firebase.google.com/go
 

सी#

.NET व्यवस्थापक SDK को .NET पैकेज मैनेजर का उपयोग करके स्थापित किया जा सकता है:

 $ Install-Package FirebaseAdmin -Version 1.15.0
 

वैकल्पिक रूप से, इसे dotnet कमांड-लाइन उपयोगिता का उपयोग करके स्थापित करें:

 $ dotnet add package FirebaseAdmin --version 1.15.0
 

या, आप अपनी .csproj फ़ाइल में निम्न पैकेज संदर्भ प्रविष्टि जोड़कर इसे स्थापित कर सकते हैं:

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

एसडीके को प्रारंभ करें

एक बार जब आप एक फायरबेस प्रोजेक्ट बना लेते हैं, तो आप एसडीके को एक प्राधिकरण रणनीति के साथ आरंभ कर सकते हैं जो आपकी सेवा खाता फ़ाइल को Google एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल्स के साथ जोड़ती है।

फायरबेस परियोजनाएं Google सेवा खातों का समर्थन करती हैं , जिनका उपयोग आप अपने ऐप सर्वर या विश्वसनीय वातावरण से फायरबेस सर्वर एपीआई को कॉल करने के लिए कर सकते हैं। यदि आप स्थानीय रूप से कोड विकसित कर रहे हैं या अपने आवेदन को परिसर में तैनात कर रहे हैं, तो आप सर्वर अनुरोधों को अधिकृत करने के लिए इस सेवा खाते के माध्यम से प्राप्त क्रेडेंशियल्स का उपयोग कर सकते हैं।

एक सेवा खाते को प्रमाणित करने और फायरबेस सेवाओं तक पहुंचने के लिए इसे अधिकृत करने के लिए, आपको JSON प्रारूप में एक निजी कुंजी फ़ाइल बनानी होगी।

अपने सेवा खाते के लिए एक निजी कुंजी फ़ाइल उत्पन्न करने के लिए:

  1. Firebase कंसोल में, सेटिंग्स> सेवा खाते खोलें।

  2. Generate New Private Key पर क्लिक करें , फिर Generate Key पर क्लिक करके पुष्टि करें

  3. JSON फ़ाइल को कुंजी से सुरक्षित रूप से संग्रहीत करें।

एक सेवा खाते के माध्यम से अधिकृत करते समय, आपके पास अपने आवेदन को प्रमाणिकता प्रदान करने के लिए दो विकल्प होते हैं। आप या तो GOOGLE_APPLICATION_CREDENTIALS वातावरण चर सेट कर सकते हैं, या आप कोड में सेवा खाता कुंजी के लिए पथ को स्पष्ट रूप से पारित कर सकते हैं। पहला विकल्प अधिक सुरक्षित है और दृढ़ता से अनुशंसित है।

पर्यावरण चर सेट करने के लिए:

JSON फ़ाइल के फ़ाइल पथ में वातावरण चर GOOGLE_APPLICATION_CREDENTIALS सेट करें जिसमें आपका खाता खाता कुंजी हो। यह चर केवल आपके वर्तमान शेल सत्र पर लागू होता है, इसलिए यदि आप एक नया सत्र खोलते हैं, तो चर को फिर से सेट करें।

लिनक्स या macOS

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

खिड़कियाँ

पॉवरशेल के साथ:

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

उपरोक्त चरणों को पूरा करने के बाद, एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल (ADC) आपके क्रेडेंशियल्स को स्पष्ट रूप से निर्धारित करने में सक्षम है, जिससे आप गैर-Google वातावरण में परीक्षण या चलने के दौरान सेवा खाता क्रेडेंशियल्स का उपयोग कर सकते हैं।

एसडीके को प्रारंभिक रूप में दिखाया गया है:

Node.js

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

जावा

 FirebaseOptions options = new 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(),
});
 

OAuth 2.0 रिफ्रेश टोकन का उपयोग करना

व्यवस्थापक SDK एक क्रेडेंशियल भी प्रदान करता है जो आपको Google OAuth2 ताज़ा टोकन के साथ प्रमाणित करने की अनुमति देता है:

Node.js

 var refreshToken; // Get refresh token from OAuth2 flow

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

जावा

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

FirebaseOptions options = new 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"),
});
 

मापदंडों के बिना प्रारंभिक

एसडीके को बिना किसी पैरामीटर के भी आरंभ किया जा सकता है। इस स्थिति में, SDK Google एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का उपयोग करता है और FIREBASE_CONFIG वातावरण चर से विकल्प पढ़ता है। यदि FIREBASE_CONFIG चर की सामग्री एक { शुरू होती है, तो इसे JSON ऑब्जेक्ट के रूप में पार्स किया जाएगा। अन्यथा SDK मानता है कि स्ट्रिंग एक JSON फ़ाइल का नाम है जिसमें विकल्प हैं।

Node.js

 // Initialize the default app
var admin = require('firebase-admin');
var app = admin.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();
 

एक बार इसे शुरू करने के बाद, आप निम्न प्रकार के कार्यों को पूरा करने के लिए एडमिन SDK का उपयोग कर सकते हैं:

कई ऐप्स को इनिशियलाइज़ करें

ज्यादातर मामलों में, आपको केवल एकल, डिफ़ॉल्ट ऐप को इनिशियलाइज़ करना होगा। आप दो समान तरीकों से उस ऐप से सेवाओं का उपयोग कर सकते हैं:

Node.js

 // Initialize the default app
var defaultApp = admin.initializeApp(defaultAppConfig);

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

// Retrieve services via the defaultApp variable...
var defaultAuth = defaultApp.auth();
var defaultDatabase = defaultApp.database();

// ... or use the equivalent shorthand notation
defaultAuth = admin.auth();
defaultDatabase = admin.database();
 

जावा

 // 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;
 

कुछ उपयोग मामलों में आपको एक ही समय में कई एप्लिकेशन बनाने की आवश्यकता होती है। उदाहरण के लिए, आप किसी Firebase प्रोजेक्ट के रीयलटाइम डेटाबेस और किसी अन्य प्रोजेक्ट के टकसाल कस्टम टोकन से डेटा पढ़ना चाह सकते हैं। या आप अलग-अलग क्रेडेंशियल्स वाले दो ऐप्स को प्रमाणित करना चाह सकते हैं। फायरबेस एसडीके आपको एक ही समय में कई एप्लिकेशन बनाने की अनुमति देता है, प्रत्येक अपनी कॉन्फ़िगरेशन जानकारी के साथ।

Node.js

 // Initialize the default app
admin.initializeApp(defaultAppConfig);

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

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

// Use the shorthand notation to retrieve the default app's services
var defaultAuth = admin.auth();
var defaultDatabase = admin.database();

// Use the otherApp variable to retrieve the other app's services
var otherAuth = otherApp.auth();
var otherDatabase = otherApp.database();
 

जावा

 // 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);
 

रीयलटाइम डेटाबेस और प्रमाणीकरण के लिए स्कोप सेट करें

यदि आप रियल टाइम डेटाबेस या ऑथेंटिकेशन के लिए Google एप्लिकेशन डिफॉल्ट क्रेडेंशियल्स के साथ Google कंप्यूट इंजन VM का उपयोग कर रहे हैं, तो सुनिश्चित करें कि सही एक्सेस स्कोप भी सेट करें। रीयलटाइम डेटाबेस और ऑथेंटिकेशन के लिए, आपको userinfo.email में समाप्त होने वाले userinfo.email आवश्यकता होती है और या तो cloud-platform या firebase.database । मौजूदा एक्सेस स्कोप की जांच करने और उन्हें बदलने के लिए, gcloud का उपयोग करके निम्न कमांड चलाएं

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"
 

अगला कदम

Firebase के बारे में जानें:

अपने ऐप में Firebase फीचर जोड़ें: