#Heroku環境変数を登録する
GitHubのプロジェクトをHerokuでbuildして運用する場合、firebaseの認証情報はGitHubに上げられないので、Heroku環境変数に登録して使う。
事前にfirebaseで秘密鍵を生成してダウンロードしておく(プロジェクト -> プロジェクトの設定 -> サービスアカウント -> 新しい秘密鍵の生成)
Heroku環境変数への登録が必要なのは以下の3つ
- projectId
- clientEmail
- privateKey
heroku config:set PROJECT_ID="<PROJECT_ID>" --app アプリ名
heroku config:set CLIENT_EMAIL="foo@<PROJECT_ID>.iam.gserviceaccount.com" --app アプリ名
heroku config:set PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n<KEY>\n-----END PRIVATE KEY-----\n --app アプリ名
NodeアプリからHeroku環境変数を呼び出す
Firebase SDKの初期化の際、下記のようにして呼び出す。
このときprivateKeyの改行を置換しないと、Herokuのbuildが通らないので注意。
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')
}),
databaseURL: `https://${process.env.FIREBASE_PROJECT_ID}.firebaseio.com`
});