firebaseコマンドで操作用トークンを使う
create: 2018-11-1
Firebase

複数の Google アカウントを使い分けて firebase プロジェクトに関わっていると、いちいちfirebase loginし直さなければならないのが面倒です。
firebase CLI実行時に、--tokenでトークンをオプション指定することでユーザの切替なしにfirebaseコマンドを実行可能になります。

手順

  1. firebase のトークンを取得する
  2. firebase コマンドを--token [token]オプションを付けて呼び出す

これだけです!
なかなか公式情報が見つからず、Qiita 記事を参考にさせていただきました。
Firebase プロジェクトのデプロイについて

firebase のトークンを取得する

トークンを発行するためのコマンドを打ちます。

firebase login:ci

直後にブラウザから GoogleID へのログインを求められます。
プロジェクトで使用する GoogleID でログインするとトークンが発行されます。

Visit this URL on any device to log in:
https://accounts.google.com/o/oauth2/auth?client_id=xxxxx.apps.googleusercontent.com&
scope=email%20openid%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloudplatformproject
s.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ffirebase%20https%3A%2F%2Fwww.g
oogleapis.com%2Fauth%2Fcloud-platform&response_type=code&state=350386719&redirect_uri
=http%3A%2F%2Flocalhost%3A9005

Waiting for authentication...

✔  Success! Use this token to login on a CI server:

[ここに発行されたトークンが表示されます]

Example: firebase deploy --token "$FIREBASE_TOKEN"

firebase コマンドのトークンに設定して呼び出す

Example: firebase deploy --token "$FIREBASE_TOKEN"にあるように、なにか変数に入れておくと便利です。

# FIREBASE_TOKENにトークンをセット
FIREBASE_TOKEN=xxxxxxxxxxxxxxxxxxxx
# トークンを付けてコマンドを呼び出す
firebase deploy --token "$FIREBASE_TOKEN"

でもたまに更新を求められる

いろんなプロジェクトをまたがってfirebase-toolを使用していると、時々トークンが無効である旨が表示され、デプロイやローカル起動に失敗します。
再現条件がよくわかりませんが、この場合はもう一度同じ手順でトークンを再発行すると使えるようになります。