Firebaseでの環境変数のまとめ
FirebaseではAPIのキーなど外部に公開したくない情報を環境変数として、設定することができる。印象としてはheroku
などのように簡単に設定することができて便利。
ほとんど公式ドキュメントに書いてあることだが、備忘録も兼ねて残しておく
追記
Firebase公式ドキュメント | 環境の設定
手順
- firebaseにログイン
firebase login
- 設定したいfirebaseプロジェクトまで移動
cd ~/workplace/hoge-projects
- 環境変数のセット
firebase functions:config:set gmail.email="youremail@gmail.com" gmail.password="yourpassword"
- 設定した環境変数をチェック
firebase functions:config:get
設定した環境変数の一覧が以下のように見ることができる。
{
"gmail": {
"password": "yourpassword",
"email": "youremail@gmail.com"
}
}
- Cloud Functionsなどで環境変数を参照する場合
環境変数にはfunctions.config()
でアクセスできる。
あとは自分で設定したプロパティを指定することで取り出すことができる。
index.js
const gmailEmail = encodeURIComponent(functions.config().gmail.email);
const gmailPassword = encodeURIComponent(functions.config().gmail.password);
最後に
firebase
の場合、api keyやapp IDをコピペすることがあり、これも環境変数で扱った方が良いのでは?と思ったのだが、このような記事を見つけた。
google apisの認証情報で個別のFirebaseプロジェクトの認証情報が漏れないかぎり不正な利用はされないとのこと。