【问题标题】:How to import Users into Firebase authentication with multiple attributes如何将用户导入具有多个属性的 Firebase 身份验证
【发布时间】:2018-11-03 02:30:10
【问题描述】:

我正在将一个大型 SQL 数据库传输到 Firebase。我正在将 SQL 转换为 JSON 并将其导入 firebase。我遇到了用户表的问题。我想将它们导入 firebase 身份验证,但用户表看起来像这样

JSON 格式:

"members": [
            {
                "memb_num": "38803",
                "memb_email": "****@gmail.com",
                "memb_firstName": "**** ",
                "memb_lastName": "****",
                "memb_company": "*****",
                "memb_street1": "***** Road",
                "memb_street2": "",
                "memb_city": "Duarte",
                "memb_stateNum": "5",
                "memb_zip": "91010",
                "memb_country": "United States",
                "memb_phone": "619-925-0051",
                "memb_passwd": "5b387bd93ec6ae3f",
                "memb_passhint": "",
                "memb_passTemp": "none",
                "memb_communicate": "Receive E-mails",
                "memb_boxNum": "5417",
                "memb_boxSize": "large",
                "memb_acctType": "PLUS",
                "memb_24access": "No",
                "memb_payDue": "0000-00-00",
                "memb_termLength": "12",
                "memb_forms": "received",
                "memb_newMailNotify": "1",
                "memb_acctClose": "2019-02-02",
                "memb_added": "2016-02-02",
                "memb_lastOn": "2018-02-07 14:52:13",
                "memb_access": "customer",
                "isTestAccount": "No"
            }
]

我有几个问题。

  1. firebase 身份验证是否会接受所有这些数据,或者我是否需要在仅存在电子邮件、密码和 uuid 的情况下对其进行重组?我有超过 30k 的成员,所以解决方案越简单越好。

  2. 我该如何处理密码哈希?这就是从 SQL 数据库中导出它的原因,一旦导入到 Firebase 身份验证中,它会起作用吗?

【问题讨论】:

    标签: firebase firebase-authentication


    【解决方案1】:

    查看文档:https://firebase.google.com/docs/auth/admin/import-users。上面的许多数据最好保存在单独的数据库中。 Firebase Auth 支持嵌入在用户 ID 令牌中的自定义用户属性,但他们建议不要将其用作数据库,而是将其用于访问控制。在您的情况下,使用实时数据库或 Firestore 之类的东西来存储其他数据更合适。

    关于密码哈希,您必须在导入用户时提供哈希算法选项。这在上面有记录。

    【讨论】:

    • 感谢您的详细解答。您说将其余部分存储在我计划做的 firebase 实时数据库中,但是如何将其余数据中的用户 ID、电子邮件和密码解析到可以单独存储的位置?
    • 不确定我是否理解。你必须编写一个脚本来做到这一点。您将数据库中的字段映射到 Firebase Auth db 支持的字段。例如memb_emailemailmemb_numuid 等。定义用户类型的字段可以设置为自定义声明,例如。 memb_accessisTestAccount 等。您可以将其余的存储在实时数据库中。
    猜你喜欢
    • 2018-07-10
    • 2019-03-23
    • 1970-01-01
    • 2017-06-28
    • 2020-10-08
    • 1970-01-01
    • 2017-06-19
    • 2017-03-18
    • 1970-01-01
    相关资源
    最近更新 更多