当前位置: 首页 > 知识库问答 >
问题:

如何使用Firebase认证服务并在自己的数据库中拥有用户?

路欣荣
2023-03-14

我有自己的node.js服务器设置,所以我不需要Firebase存储和实时数据库服务。从客户端(主要是Android),我试图使用Firebase身份验证服务(G+和FB登录)对用户进行身份验证,但这将在Firebase数据库中创建用户。如何在数据库中创建用户?

目前,我只需将Firebase创建的用户id发送到我的服务器,并将其保存在数据库中,然后生成jwt来验证随后对服务器的REST API请求。

共有1个答案

上官恩
2023-03-14

最终用户登录Google/Facebook后,您的客户端应用程序将获得一个Firebase JWT令牌。每当应用程序需要向服务器发送REST API请求时,只需将Firebase JWT令牌附加到请求正文中即可。

在服务器上,首先验证传入请求中的Firebase令牌。一旦通过了JWT安全检查(签名、访问群体、过期等),您就可以提取令牌中的“sub”字段(即user_id),并仅在user_id还不在DB中的情况下在DB中创建用户记录。

 类似资料:
  • 服务器如何使用这些来确保请求是有效的?主要是为什么其他人不能直接从应用程序中提取这些参数,然后创建另一个“邪恶”应用程序,该应用程序对“邪恶”使用相同的参数。 “邪恶”将包括使用从真实应用程序中获取的相同凭据创建一个不同的应用程序,使用普通的电子邮件/密码注册表单根据真实应用程序中包含的相同凭据注册用户,然后一旦用户被注册,就会做更多的“邪恶”。 2)快速检查... 最后,openid-conne

  • 场景: > Bob 使用他不拥有的电子邮件地址创建了一个 Firebase 帐户 alice@example.com(无论是意外还是恶意)。 Bob创建了几条私有Fi恢复记录(例如用户评论/消息),这些记录链接到他的用户ID,只有Bob才能读取和写入。 Alice尝试注册并发现她的电子邮件alice@example.com已被占用。我们如何给Alice一个链接到她的电子邮件地址的用户帐户,而她却无

  • 我正试图从Firebase实时数据库中检索当前登录用户的配置文件数据。我已经通过电子邮件和密码验证了我的用户。然后,我将注册数据保存在数据库中,作为一个对象,如下所示:(所有这些代码都在SignUpActivity中的onCreate中)。我将数据保存为用户对象。我的用户模型类有getter和setter,参数化和空白构造函数。 因此,mUserId是经过身份验证的用户的用户ID。我的数据库结构如