はじめに
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
BashExporting accounts to account.csv といったメッセージが表示されます。作成したファイルを開くと、データが入っているはずです。
パスワードハッシュパラメータを控える
アカウント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のデータを移行する作業が完了です。これで、アカウント間でデータを移動できます。