如何在使用Firebase身份验证的用户注册过程中节省更多信息

问题描述 投票:-1回答:1

我正在建立一个集成了firebase authentication的网站,用于登录/注册站点用户。

用户可以通过电子邮件密码或移动OTP方法登录/注册。我正在使用官方的Firebase JS Auth UI小部件:firebaseui-web用于此身份验证过程。

[注册时,我还想捕获其他用户详细信息,例如全名,性别,年龄等。

我在网上发现了两种方法:

  1. 成功注册后,将更多信息存储在Firestore中。

    这种方法的问题是我想成为atomic transaction。意思是,所有额外的信息都应该在注册过程注册过程中存储,否则就不会成功。我不确定如何实现此流程,甚至根本不可能。

  2. 使用JSON.stringify / JSON.parse方法将多余的信息存储在firebase auth object字段中,例如,在displayName,photoURL中。我正在使用他们的auth UI小部件,不确定在电子邮件或移动OTP注册期间如何嵌入此信息。

所以,如何在注册过程中保存用户的额外信息?可能有其他不同的方法吗?

网站托管在Firebase托管上。网站使用Firestore来存储用户的任何其他数据,因为firebase身份验证不提供此功能。我还为一些基本的CRUD操作实现了Firebase云功能(Typescript,node.js)。因此,简而言之,是一个完整的Firebase环境。

html firebase authentication google-cloud-firestore firebase-authentication
1个回答
0
投票

您想要捕获的其他信息通常确实会存储在其他数据库中,例如Cloud Firestore或实时数据库。通常将自定义声明保留给与访问控制有关的信息,例如组成员身份以及用户是否为管理员。

[注册期间,除了注册所需的最少信息(即使用电子邮件+密码验证时的电子邮件地址和密码)之外,没有原子方法可以添加其他信息。如果您的用例需要原子性,那么您可能希望超越Firebase。

© www.soinside.com 2019 - 2024. All rights reserved.