没有电子邮件的 Firebase 身份验证

时间:2021-07-30 06:54:38

标签: firebase firebase-authentication

目前,我正在尝试开发一个门户网站,我希望允许特定用户进入网站。这意味着我想使用特定的用户名和密码在不使用任何电子邮件地址的情况下进入我的身边。怎么可能?我看到对于自定义登录,我必须使用身份验证服务器,并且在 Firebase 的 Functions 选项卡 中是允许的。但我必须购买它。是否有任何解决方法可以在没有电子邮件的情况下创建我的自定义登录。

1 个答案:

答案 0 :(得分:0)

Firebase 身份验证没有 username-password 身份验证。您能做的最好的事情是,每当用户输入用户名时,您都可以附加 @yourapp-com 以使其格式类似于电子邮件并将其与密码一起使用。

当用户尝试登录时使用相同的方法,当他们输入用户名时,附加该域并使用 signInWithEmailAndPassword 方法。因此,从技术上讲,您使用的是电子邮件和密码(但电子邮件无法接收电子邮件),但您的用户仅输入用户名和密码。

这很容易解决,但您也可以将用户名和密码存储在数据库中。但是,请确保正确散列数据库中的密码。您可以使用云功能对用户进行身份验证。身份验证流程如下:

  1. 用户输入用户名和密码
  2. 触发云功能,然后验证用户名和密码
  3. 如果密码匹配,则使用 Admin SDK 生成自定义令牌并将其发送回客户端
  4. 使用 signInWithCustomToken 方法并使用该令牌登录用户。