2018-10-31

firebaseコマンドで操作用トークンを使う

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


猫派 / 基本インドア / ガジェット大好き / RDP推進派 / 自作キーボード
コロナ禍の趣味はPC+VRでゲーム。
最近のゲーム:Factorio / にゃんこ大戦争

→ Policy