auth:import コマンドは、ユーザー アカウントを Firebase プロジェクトにインポートします。auth:export コマンドは、ユーザー アカウントを JSON ファイルまたは CSV ファイルにエクスポートします。
auth:import
firebase auth:import account_file \
--hash-algo=hash_algorithm \
--hash-key=key \
--salt-separator=salt_separator \
--rounds=rounds \
--mem-cost=mem_cost \
--parallelization=parallelization \
--block-size=block_size \
--dk-len=dk_len \
--hash-input-order=hash_input_order
| パラメータ | |
|---|---|
| account_file | インポートするユーザー アカウントが格納された CSV または JSON ファイル。ファイル形式をご覧ください。 |
| hash-algo | ユーザー アカウント ファイル内のパスワードをハッシュするために使用されるアルゴリズム。パスワード フィールドつきでアカウントをインポートする場合には必須です。次のいずれかの値になります。BCRYPT、SCRYPT、STANDARD_SCRYPT、HMAC_SHA512、HMAC_SHA256、HMAC_SHA1、HMAC_MD5、MD5、SHA512、SHA256、SHA1、PBKDF_SHA1、PBKDF2_SHA256。 |
| hash-key | パスワード ハッシュに使用するキー。SCRYPT、HMAC_SHA512、HMAC_SHA256、HMAC_SHA1、HMAC_MD5 アルゴリズムの場合は必須です。この引数は、base64 でエンコードされた文字列としてフォーマットする必要があります。 |
| salt-separator | パスワードの確認で使用されるソルトの区切り文字。すべてのアルゴリズムで省略可能です。この引数は、base64 でエンコードされた文字列としてフォーマットする必要があります。 |
| rounds | パスワードのハッシュに使用される丸め数。SCRYPT、MD5、SHA512、SHA256、SHA1、PBKDF_SHA1 および PBKDF2_SHA256 のアルゴリズムに必要です。 |
| mem-cost | このパラメータは、SCRYPT アルゴリズムに必要なメモリのコスト、または STANDARD_SCRYPT アルゴリズムに必要な CPU / メモリのコストを表します。 |
| parallelization | ハッシング アルゴリズムの並列化。STANDARD_SCRYPT アルゴリズムに必要です。 |
| block-size | ハッシング アルゴリズムのブロックサイズ(通常は 8)。STANDARD_SCRYPT アルゴリズムに必要です。 |
| dk-len | ハッシング アルゴリズムの派生キーの長さ。STANDARD_SCRYPT アルゴリズムに必要です。 |
| hash-input-order | パスワードとソルトの順序。使用可能な値は SALT_FIRST と PASSWORD_FIRST です。このフラグの適用対象は SHA512、SHA256、SHA1、MD5、HMAC_SHA512、HMAC_SHA256、HMAC_SHA1、HMAC_MD5 です。 |
auth:export
firebase auth:export account_file --format=file_format
| パラメータ | |
|---|---|
| account_file | エクスポート先の CSV または JSON ファイル。ファイル形式をご覧ください。 |
| format | 省略可: エクスポートするファイル形式: csv または json。account_file パラメータに指定されたファイル名が .csv または .json で終わっている場合、そのフォーマットが使用され、このパラメータは無視されます。
|
ファイル形式
ユーザー アカウント ファイルを CSV または JSON としてフォーマットすることができます。
CSV
CSV ユーザー アカウント ファイルは次の形式になります。
| 列番号 | フィールドの説明 | フィールド タイプ | コメント |
|---|---|---|---|
| 1 | UID | 文字列 | 必須です。この ID は、Firebase プロジェクト内のすべてのアカウントで一意である必要があります。すでに存在する UID を持つアカウントをインポートした場合は、アカウントが上書きされます。 |
| 2 | メール | 文字列 | 省略可 |
| 3 | 検証済みのメール | ブール値 | 省略可 |
| 4 | パスワード ハッシュ | 文字列 | 省略可。base64 でエンコードされた文字列。このフィールドを使用するには、呼び出し側に編集者または所有者の役割が必要です。 |
| 5 | パスワード Salt | 文字列 | 省略可。base64 でエンコードされた文字列。このフィールドを使用するには、呼び出し側に編集者または所有者の役割が必要です。 |
| 6 | 名前 | 文字列 | 省略可 |
| 7 | 写真 URL | 文字列 | 省略可 |
| 8 | Google ID | 文字列 | 省略可 |
| 9 | Google メール | 文字列 | 省略可 |
| 10 | Google 表示名 | 文字列 | 省略可 |
| 11 | Google 写真 URL | 文字列 | 省略可 |
| 12 | Facebook ID | 文字列 | 省略可 |
| 13 | Facebook メール | 文字列 | 省略可 |
| 14 | Facebook 表示名 | 文字列 | 省略可 |
| 15 | Facebook 写真 URL | 文字列 | 省略可 |
| 16 | Twitter ID | 文字列 | 省略可 |
| 17 | Twitter メール | 文字列 | 省略可 |
| 18 | Twitter 表示名 | 文字列 | 省略可 |
| 19 | Twitter 写真 URL | 文字列 | 省略可 |
| 20 | GitHub ID | 文字列 | 省略可 |
| 21 | GitHub メール | 文字列 | 省略可 |
| 22 | GitHub 表示名 | 文字列 | 省略可 |
| 23 | GitHub 写真 URL | 文字列 | 省略可 |
| 24 | ユーザーの作成時間 | Long 型 | 省略可。Epoch Unix タイムスタンプ(ミリ秒単位) |
| 25 | 最終ログイン時間 | Long 型 | 省略可。Epoch Unix タイムスタンプ(ミリ秒単位) |
| 26 | 電話番号 | 文字列 | 省略可。 |
省略可能な値を指定しない場合、該当する位置を空のフィールドにしておく必要があります。空のフィールドは、任意の数のスペースで表します。
たとえば、次の行はユーザー アカウントを表します。
111, test@test.org, false, Jlf7onfLbzqPNFP/1pqhx6fQF/w=, c2FsdC0x, Test User, http://photo.com/123, , , , , 123, test@test.org, Test FB User, http://photo.com/456, , , , , , , , , 1486324027000, 1486324027000
JSON
JSON ユーザー アカウント ファイルは次の形式になります。
{
"users": [
{
"localId": uid,
"email": email-address
"emailVerified": email-verified,
"passwordHash": base64-encoded-password-hash,
"salt": base64-encoded-password-salt,
"displayName": name,
"photoUrl": photo-url,
"createdAt": created-at-in-millis,
"lastSignedInAt": last-signedin-at-in-millis,
"phoneNumber": phone-number
"providerUserInfo": [
{
"providerId": provider-id,
"rawId": provider-uid,
"email": provider-email,
"displayName": provider-name,
"photoUrl": provider-photo-url
},
...
]
},
...
]
}
providerId フィールドは、google.com、facebook.com、github.com、twitter.com のいずれかの値にする必要があります。


