Bird
Raised Fist0
Firebasecloud~5 mins

Firebase Admin SDK (Node.js) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the Firebase Admin SDK used for in Node.js?
It allows server-side Node.js applications to securely interact with Firebase services like authentication, database, and messaging.
Click to reveal answer
beginner
How do you initialize the Firebase Admin SDK in a Node.js app?
By importing the admin module and calling admin.initializeApp() with proper credentials.
Click to reveal answer
intermediate
Which Firebase service can you manage using the Admin SDK to verify user identity tokens?
Firebase Authentication service can be managed to verify ID tokens and manage users.
Click to reveal answer
intermediate
What is a common way to provide credentials to the Firebase Admin SDK in Node.js?
Using a service account JSON file downloaded from the Firebase console and passing it to admin.initializeApp().
Click to reveal answer
intermediate
Can the Firebase Admin SDK be used to send push notifications? If yes, how?
Yes, it can send push notifications using Firebase Cloud Messaging (FCM) by calling admin.messaging().send() with message details.
Click to reveal answer
What method initializes the Firebase Admin SDK in Node.js?
Aadmin.start()
Bfirebase.initialize()
Cfirebase.adminInit()
Dadmin.initializeApp()
Which file type is commonly used to provide credentials to the Admin SDK?
A.env file
BPlain text file
CService account JSON file
DYAML config file
Which Firebase service can the Admin SDK NOT manage?
AFirebase Hosting
BRealtime Database
CCloud Messaging
DAuthentication
What does admin.auth().verifyIdToken() do?
ACreates a new user
BVerifies a user's ID token
CDeletes a user
DSends a notification
Which method sends a push notification using the Admin SDK?
Aadmin.messaging().send()
Badmin.push().notify()
Cadmin.notify().send()
Dadmin.message().push()
Explain how to securely initialize the Firebase Admin SDK in a Node.js application.
Think about how to provide credentials and start the SDK.
You got /3 concepts.
    Describe how the Firebase Admin SDK helps manage user authentication in Node.js.
    Focus on user identity and token verification.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the Firebase Admin SDK in Node.js?
      easy
      A. To build user interfaces for Firebase apps
      B. To securely manage Firebase services from a server environment
      C. To run Firebase apps directly in the browser
      D. To replace Firebase client SDK on mobile devices

      Solution

      1. Step 1: Understand Firebase Admin SDK role

        The Admin SDK is designed for server-side use to manage Firebase services securely.
      2. Step 2: Differentiate from client SDKs

        Client SDKs run on user devices for app interaction, while Admin SDK runs on servers for management tasks.
      3. Final Answer:

        To securely manage Firebase services from a server environment -> Option B
      4. Quick Check:

        Admin SDK = server management [OK]
      Hint: Admin SDK is for backend server tasks, not frontend apps [OK]
      Common Mistakes:
      • Confusing Admin SDK with client SDK
      • Thinking Admin SDK runs in browsers
      • Assuming Admin SDK builds UI
      2. Which of the following is the correct way to initialize the Firebase Admin SDK in Node.js using a service account JSON file named serviceAccountKey.json?
      easy
      A. const admin = require('firebase-admin'); admin.initializeApp({credential: admin.credential.cert(require('./serviceAccountKey.json'))});
      B. const admin = require('firebase-admin'); admin.initializeApp({serviceAccount: 'serviceAccountKey.json'});
      C. const admin = require('firebase-admin'); admin.initializeApp({credential: admin.credential.applicationDefault()});
      D. const admin = require('firebase-admin'); admin.initializeApp({credential: admin.credential.cert(serviceAccountKey.json)});

      Solution

      1. Step 1: Load service account JSON correctly

        The service account JSON must be imported using require to pass the object, not a string path.
      2. Step 2: Use admin.credential.cert with the JSON object

        Pass the imported JSON object to admin.credential.cert for proper initialization.
      3. Final Answer:

        const admin = require('firebase-admin'); admin.initializeApp({credential: admin.credential.cert(require('./serviceAccountKey.json'))}); -> Option A
      4. Quick Check:

        Use require() to load JSON for cert [OK]
      Hint: Use require() to load JSON, not a string path [OK]
      Common Mistakes:
      • Passing file path string instead of JSON object
      • Using applicationDefault() when service account is needed
      • Incorrect property name like 'serviceAccount'
      3. Given the following Node.js code using Firebase Admin SDK, what will be the output if the user with UID 'user123' exists?
      const admin = require('firebase-admin');
      admin.initializeApp();
      
      admin.auth().getUser('user123')
        .then(userRecord => console.log(userRecord.uid))
        .catch(error => console.log('Error:', error.message));
      medium
      A. user123
      B. Error: User not found
      C. undefined
      D. null

      Solution

      1. Step 1: Understand getUser() behavior

        getUser() returns a Promise resolving to a user record if the user exists.
      2. Step 2: Check the then() callback output

        The code logs userRecord.uid, which will be 'user123' if the user exists.
      3. Final Answer:

        user123 -> Option A
      4. Quick Check:

        getUser() returns user data, logs UID [OK]
      Hint: getUser() returns user info; log uid to see user ID [OK]
      Common Mistakes:
      • Assuming getUser() returns error if user exists
      • Expecting undefined or null instead of UID
      • Not handling Promise correctly
      4. Identify the error in the following Firebase Admin SDK Node.js code snippet:
      const admin = require('firebase-admin');
      admin.initializeApp({
        credential: admin.credential.cert(serviceAccountKey.json)
      });
      
      admin.auth().createUser({
        email: 'user@example.com',
        password: 'secret123'
      }).then(userRecord => console.log(userRecord.uid));
      medium
      A. initializeApp() cannot accept credential property
      B. Password must be at least 10 characters
      C. createUser() requires a displayName field
      D. The service account JSON file path should be required, not passed as a string

      Solution

      1. Step 1: Check initialization of credential

        admin.credential.cert() expects a JSON object, not a string path. The file must be loaded with require().
      2. Step 2: Validate other parameters

        Password length and displayName are optional or valid; initializeApp() accepts credential property.
      3. Final Answer:

        The service account JSON file path should be required, not passed as a string -> Option D
      4. Quick Check:

        Use require() to load JSON for cert [OK]
      Hint: Load JSON with require(), not string path [OK]
      Common Mistakes:
      • Passing string path instead of JSON object
      • Assuming password length error
      • Thinking displayName is mandatory
      5. You want to send a push notification to a device using Firebase Admin SDK in Node.js. Which sequence of steps correctly applies to achieve this?
      hard
      A. Use Firebase client SDK to send notification directly from server without Admin SDK
      B. Initialize Admin SDK with credentials, call admin.auth().sendNotification(token, message), then handle response
      C. Initialize Admin SDK with credentials, build a message object with token and notification, then call admin.messaging().send(message)
      D. Initialize Admin SDK without credentials, build message, then call admin.database().send(message)

      Solution

      1. Step 1: Initialize Admin SDK properly

        Admin SDK must be initialized with credentials to access Firebase services securely.
      2. Step 2: Create message object and send

        Build a message with device token and notification details, then use admin.messaging().send() to send it.
      3. Final Answer:

        Initialize Admin SDK with credentials, build a message object with token and notification, then call admin.messaging().send(message) -> Option C
      4. Quick Check:

        Use admin.messaging().send() with message object [OK]
      Hint: Use admin.messaging().send() with message object and token [OK]
      Common Mistakes:
      • Using auth() instead of messaging() for notifications
      • Trying to send without initializing SDK
      • Using database() to send notifications
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard