🔥
Firebase Admin 初期化時に使用する情報を環境変数に設定する
はじめに
今回は、JSON形式のシークレットキーの情報を環境変数に設定し、Firebase Adminを初期化する方法を解説します。
設定方法
シークレットキーのダウンロード
まずはシークレットキーをダウンロードします。
ダウンロードしたシークレットキーは以下の形式になっています。
{
"type": "service_account",
"project_id": "example ...",
"private_key_id": "404bda78 ...",
"private_key": "-----BEGIN PRIVATE KEY----- ...",
"client_email": "firebase-adminsdk ...",
"client_id": "1048 ...",
"auth_uri": "https://accounts.google.com ...",
"token_uri": "https://oauth2.googl ...",
"auth_provider_x509_cert_url": "https://www.googleapis.com/ ...",
"client_x509_cert_url": "https://www.googleapis.com/robot/ ...",
"universe_domain": "googleapis.com"
}
環境変数にシークレットキー情報を設定
設定するのは以下の三つの情報です。
- project_id
- client_email
- private_key
環境変数に必要な情報を追加します。
FIREBASE_PROJECT_ID="project_idの値"
FIREBASE_CLIENT_EMAIL="client_emailの値"
FIREBASE_PRIVATE_KEY="private_keyの値"
Firebase Adminを初期化
環境変数に設定した値を呼び出してFirebase Adminを初期化します。
import admin from "firebase-admin";
admin.initializeApp({
credential: admin.credential.cert({
projectId: process.env.FIREBASE_PROJECT_ID,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
privateKey: process.env.FIREBASE_PRIVATE_KEY?.replace(/\\n/g, "\n"),
}),
});
replace(/\\n/g, '\n')
は、文字列内のエスケープされた改行コード\\n
を実際の改行文字\n
に変換します。
さいごに
今回は、JSON形式のシークレットキーの情報を環境変数に設定し、Firebase Adminを初期化する方法を解説しました。
参考
Discussion