使用用户名和密码的自定义Firebase身份验证

时间:2020-06-20 13:18:10

标签: android firebase spring-boot firebase-authentication

我正在编写一个Android应用,其中需要使用usernamepassword(在登录部分)和email进行身份验证, passwordusername(在注册部分)。用户名和电子邮件必须唯一。

我遵循了这个link,其中 Firebase 告诉我们如何使用由我们自己的后端生成的自定义令牌登录用户(在我的情况下为 Spring Boot >),但这仅用于登录。

如何处理注册部分?

用户注册时,我需要检查后端的数据并将其保存到Firebase中,返回令牌并使用此令牌登录,或者?

1 个答案:

答案 0 :(得分:2)

使用自定义身份验证提供程序登录Firebase时,由您自己的提供程序来处理用户的注册。在这种情况下,Firebase身份验证不会为用户保留任何信息。

因此,您将需要存储自己的用户名,(散列的)密码和您维护的其他数据的数据库。您当然可以为此使用Firebase的数据库之一(Firestore或实时数据库),但是Firebase身份验证将不知道这一点。

有关用户名和密码提供者的示例,请参见以下存储库:https://github.com/firebase/functions-samples/tree/master/username-password-auth


作为另一种方法,您还可以使用Firebase的现有电子邮件+密码提供程序,并在此之上添加用户名要求。您也可以在此处将用户名存储在外部数据库中,因为Firebase身份验证对此一无所知。

这是一种更常见的方法,通过查看questions around storing a unique user name,您可以了解更多有关人们在这里所做的事情。

相关问题