Skip to content

Instantly share code, notes, and snippets.

@yamacraft
Last active January 4, 2023 10:28
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yamacraft/a6ff266b54f52b40747f8e0f98e0adaa to your computer and use it in GitHub Desktop.
Save yamacraft/a6ff266b54f52b40747f8e0f98e0adaa to your computer and use it in GitHub Desktop.
node.jsからサービスアカウント使ってFirebaseへ接続する時のメモ

検索ワード:Firebase Auth サービスアカウント nodejs

(注意)日本語版の情報は既に少し古い

下準備

サービスアカウントの作成

  1. Firebaseコンソールサイト>歯車>権限 でGoogle APIコンソールっぽい管理画面へ。
  2. サービスアカウント>サービスアカウントを作成をクリックしてアカウントを作成
  3. 役割選択は無視でOK
  4. 「新しい秘密鍵の提供」にチェック>ファイルはjsonファイル指定
  5. 「G Suite ドメイン全体の委任を有効にする」はチェックしない
  6. 作成でjsonファイルが落ちてくるので保存( このファイルは二度と落とせないので注意

node.jsで接続

firebase-admin モジュールを利用するのでインストール

$ npm install firebase-admin --save

あとは下記の接続でauthやdbが触れるようになっているはず

var admin = require("firebase-admin");
var serviceAccount = require("./serviceAccountCredentials.json"); // さっき落としたjsonファイル

var defaultApp = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://xxx.firebaseio.com" // xxxにデータベース名(Firebaseコンソールで確認可能)
});

console.log(defaultApp.name);  // "[DEFAULT]になっている"

// Auth関連
var defaultAuth = defaultApp.auth();

// Database関連
var defaultDatabase = defaultApp.database();

以上

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment