转到控制台

auth:import

auth:import 命令可将用户帐号导入 Firebase 项目。

语法

firebase auth:import account_file \
    --hash-algo=hash_algorithm    \
    --hash-key=key                \
    --rounds=rounds               \
    --mem-cost=mem_cost
参数
account_file 包含要导入的用户帐号的 CSV 或 JSON 文件。请参阅文件格式
hash-algo 用于在用户帐号文件中对密码进行哈希处理的算法。 必需参数。值为 BCRYPTSCRYPTHMAC_SHA512HMAC_SHA256HMAC_SHA1HMAC_MD5MD5PBKDF_SHA1
hash-key 用于对密码进行哈希处理的使用 base64 编码的密钥。HMAC_SHA512HMAC_SHA256HMAC_SHA1HMAC_MD5 算法的必需参数。
rounds 密码哈希处理轮数。SCRYPTMD5PBKDF_SHA1 算法的必需参数。
mem-cost 哈希算法的内存开销。SCRYPT 算法的必需参数。

文件格式

用户帐号文件的格式可以是 CSV,也可以是 JSON。

CSV

CSV 用户帐号文件的格式如下:

列号 字段说明 字段类型 备注
1 UID 字符串 必填。此 ID 应在您 Firebase 项目的所有帐号中都是唯一的。如果您导入一个 UID 已存在的帐号,那么该帐号会被覆盖。
2 电子邮件地址 字符串 可选
3 已验证电子邮件地址 布尔值 可选
4 密码哈希 字符串 可选。使用 base64 编码的字符串。
5 密码加密盐 字符串 可选。使用 base64 编码的字符串。
6 名称 字符串 可选
7 照片网址 字符串 可选
8 Google ID 字符串 可选
9 Google 电子邮件地址 字符串 可选
10 Google 显示名 字符串 可选
11 Google 照片网址 字符串 可选
12 Facebook ID 字符串 可选
13 Facebook 电子邮件地址 字符串 可选
14 Facebook 显示名 字符串 可选
15 Facebook 照片网址 字符串 可选
16 Twitter ID 字符串 可选
17 Twitter 电子邮件地址 字符串 可选
18 Twitter 显示名 字符串 可选
19 Twitter 照片网址 字符串 可选
20 GitHub ID 字符串 可选
21 GitHub 电子邮件地址 字符串 可选
22 GitHub 显示名 字符串 可选
23 GitHub 照片网址 字符串 可选

例如,下面的代码行代表一个用户帐号:

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, , , , , , , , ,

JSON

JSON 用户帐号文件的格式如下:

{
  "users": [
    {
      "localId": uid,
      "email": email-address
      "emailVerified": email-verified,
      "passwordHash": password-hash,
      "salt": password-salt,
      "displayName": name,
      "photoUrl": photo-url,
      "providerUserInfo": [
        {
          "providerId": provider-id,
          "rawId": provider-uid,
          "email":  provider-email,
          "displayName": provider-name,
          "photoUrl": provider-photo-url
        },
        ...
      ]
    },
    ...
  ]
}

providerId 字段的值必须为 google.comfacebook.comgithub.comtwitter.com