本記事では、 Firebase Functions の環境変数の設定方法を解説していきます。
前回の記事では、Twitter APIを使用するための各種キー、トークンをソースコード上に直接書いていました。
この各種キーとトークンをFirebase Functionsの環境変数へ登録し、読み出して使うように設定していきたいと思います。
Twitter botの作り方、サンプルはこちらをご覧ください。
Firebase functionsの現在の環境変数を確認
まずはFirebase functionsの現在の環境変数を確認してみましょう。
下記のコマンドを実行してみます。
firebase functions:config:get
何も設定していなければ、{}が返ってきているはずです。
Firebase functionsに環境変数を設定
例として、「APP_KEY」という名前の環境変数を登録してみます。
Twitter APIのAPI Keyとして登録しますので、各環境に読み替えて登録してください。
firebase functions:config:set api.key="API_KEY"
確認コマンドを実行すると、以下の結果が返ってくれば成功です。
$ firebase functions:config:get
{
"api": {
"key": "API_KEY"
}
}
Firebase functionsの環境変数を削除
環境変数を削除してみたいと思います。
以下コマンドで前手順で作成した「api」を削除します。
firebase functions:config:unset api
確認コマンドを実行し、apiが削除された結果が返ってくれば成功です。
Twitter APIのキーとトークンの登録
Twitter APIで使用するキーとトークンを登録してみました。
参考にしてみてください。
{
"api": {
"secret": "API_KEY_SECRET",
"key": "API_KEY"
},
"access": {
"secret": "ACCESS_TOKEN_SECRET",
"token": "ACCESS_TOKEN"
}
}
Firebase functionsの環境変数をソースコードで取得
functions.config()に続いて設定した環境変数のキーを指定すればアクセスできます。
const functions = require('firebase-functions');
const testClient = new TwitterApi({
appKey: functions.config().api.key,
appSecret: functions.config().api.secret,
accessToken: functions.config().access.token,
accessSecret: functions.config().access.secret,
});
まとめ
本記事では、Firebase CLIを使用し環境変数の登録を行う方法を解説しました。
.envファイルで管理する方法もあるようですが、詳しくは公式サイトをご覧ください。
前回で懸念だった、ソースコード上に各種キーやトークンを直書きしていた問題は解決します。
環境変数に設定することでキーやトークンの管理も安全ですね。