コンソールへ移動

auth:import と auth:export

  • 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 ユーザー アカウント ファイル内のパスワードをハッシュするために使用されるアルゴリズム。
パスワード フィールドつきでアカウントをインポートする場合には必須です。次のいずれかの値になります。BCRYPTSCRYPTSTANDARD_SCRYPTHMAC_SHA512HMAC_SHA256HMAC_SHA1HMAC_MD5MD5SHA512SHA256SHA1PBKDF_SHA1PBKDF2_SHA256
hash-key パスワードのハッシュに使用されるキー。
SCRYPTHMAC_SHA512HMAC_SHA256HMAC_SHA1HMAC_MD5 アルゴリズムの場合は必須です。この引数は、base64 でエンコードされた文字列としてフォーマットする必要があります。
salt-separator パスワードの確認で使用されるソルトの区切り文字。
すべてのアルゴリズムで省略可能です。この引数は、base64 でエンコードされた文字列としてフォーマットする必要があります。
rounds パスワードのハッシュに使用されるラウンド数。
SCRYPTMD5SHA512SHA256SHA1PBKDF_SHA1PBKDF2_SHA256 のアルゴリズムに必要です。
mem-cost このパラメータは、SCRYPT アルゴリズムに必要なメモリのコスト、または STANDARD_SCRYPT アルゴリズムに必要な CPU / メモリのコストを表します。
parallelization ハッシング アルゴリズムの並列化。
STANDARD_SCRYPT アルゴリズムに必要です。
block-size ハッシング アルゴリズムのブロックサイズ(通常は 8)。
STANDARD_SCRYPT アルゴリズムに必要です。
dk-len ハッシング アルゴリズムの派生キーの長さ。
STANDARD_SCRYPT アルゴリズムに必要です。
hash-input-order パスワードとソルトの順序。
使用可能な値は SALT_FIRSTPASSWORD_FIRST です。このフラグの適用対象は SHA512SHA256SHA1MD5HMAC_SHA512HMAC_SHA256HMAC_SHA1HMAC_MD5 です。

auth:export

firebase auth:export account_file --format=file_format
パラメータ
account_file エクスポート先の CSV または JSON ファイル。ファイル形式をご覧ください。
file_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