Firebase Authenticationのデータをアカウントを跨いだプロジェクトに移行する

サーバー

はじめに

Firebase Authenticationのデータを、AアカウントのプロジェクトからBアカウントのプロジェクトへ移行する方法をまとめておきます。

ここではFirebase CLIをインストール済みとして進めます。Firebase CLIのインストール方法は以下のリンクから確認できます。

CLIからFirebaseにログイン

まずは、移行元のAアカウントでFirebaseにログインする。

$ firebase login
Bash

すでにログインしている場合は、「Already logged in as [アカウントA]」と表示されます。アカウントが間違っている場合は、一旦ログアウトして、移行元のアカウントにログインしてください。

空のCSVファイルを作成してデータをエクスポート

現在いるディレクトリで、空のCSVファイルを作成します。(例:account.csv)

$ touch account.csv
$ firebase auth:export account.csv --project プロジェクトID
Bash

Exporting accounts to account.csv といったメッセージが表示されます。作成したファイルを開くと、データが入っているはずです。

プロジェクトID

プロジェクト名やプロジェクト番号ではなく、プロジェクトIDを使用します。

パスワードハッシュパラメータを控える

アカウントAのFirebase>対象プロジェクト>Authentication>ユーザーのデータ一覧右上にあるメニューボタンを押すとパスワードハッシュパラメータボタンが表示されるので、クリックして表示された情報を控えておく。

移行先のアカウントにデータをインポート

移行元アカウントからログアウトし、移行先のアカウントにログインします。

$ firebase logout
$ firebase login
Bash

パスワードハッシュパラメータの情報を使って、次のコマンドを打ちます。

$ firebase auth:import account.csv 
  --hash-algo=[algorithm] \
  --hash-key=[bash64_singner_key] \
  --salt-separator=[base64_salt_separator] \
  --rounds=[rounds] \
  --mem-cost=[mem_cost] \
  --project プロジェクトID \
Bash

ここでの、[]は、パスワードハッシュパラメータのプロパティ名です。実際のコマンドを打つ場合は、プロパティの値の方を入力して下さい。

+ Imported successfully. と表示されれば成功です。移行先のコンソールからAuthenticationを確認すとデータが入っているはずです。

以上で、Firebase Authenticationのデータを移行する作業が完了です。これで、アカウント間でデータを移動できます。

タイトルとURLをコピーしました