使用 firebase 上的实时数据库中的占用值对用户进行身份验证

问题描述

嗨,我是 Xamarin Android 的新开发者。

在此之前,我可以使用 Firebase 的 SignInWithEmailAndPassword 对用户进行身份验证。这是为了我的测试目的。

但是现在,我已经有了通过网站注册用户的详细信息和值(并保存在实时数据库中),所以我不能再使用 SignInWithEmailAndPassword 函数,因为现在我必须使用数据库中的值对用户进行身份验证。

我可以使用典型的 PutString("email","value input by users") 和 getStringExtra 函数用户进行身份验证吗?我的胆量说我可以,但如果我开始,那么我现在会更改很多代码。所以我需要一些确认或任何阅读材料。

p/s 我已经搜索了所有内容,所有教程或答案都指示我在用户首次在移动设备上注册时保存详细信息。案件并非如此。 Web 注册不使用与电话相同的数据库。我检索了 JSON 文件中的值并将它们导入到 firebase。网络使用 Hostinger 的数据库

解决方法

如果您有一个现有的用户凭据数据库并希望将它们登录到 Firebase 身份验证,则需要查看 creating a custom token

在这个过程中你:

  1. 使用您自己的凭据登录用户。
  2. 将这些经过验证的凭据和其他用户信息的事实传递给受信任的环境。
  3. 使用 Admin SDK(如上面的链接所示)为用户创建自定义令牌。
  4. 将该令牌传递回客户端代码。
  5. 使用自定义令牌登录 Firebase。

正如您所看到的,这比您目前使用 SignInWithEmailAndPassword 的方法要复杂得多,因为在这种情况下,Firebase SDK 实际上会处理大部分这些步骤。