如何在Firebase Auth数据库中注册新用户?

时间:2019-09-26 19:06:30

标签: firebase firebase-authentication

我想从现有的Facebook身份验证迁移到Firebase身份验证。

我当前的模式: API服务器:

  • POST / signup?access_token =&id =#接受Facebook ID和访问令牌并通过以下方式响应的注册端点:用户ID(在API服务器DB中收集)及其令牌对(访问/刷新)
  • POST / signin-与/ signup大致相同,但是还有其他步骤来检查用户是否在数据库中退出。
  • POST / refresh_token?refresh_token =#返回一对新的访问和刷新令牌

我该怎么做才能将现有用户无缝迁移到Firebase Auth? 我想我应该做的第一件事就是将新用户与Firebase同步。 因此,我应该在/signup处理程序中添加一个步骤,该步骤将在Firebase中注册新创建的用户。

然后我应该将现有用户迁移到Firebase,对吗?我可以通过Firebase CLI和用户的JSON文件成功完成此操作,因此这一步毫无疑问。

但是我不明白我该如何做的第一步:使用Firebase同步新用户。

我使用的是Ruby,它没有Admin SDK的实现,但这对我来说不是问题,REST API可以。

我认为这个https://firebase.google.com/docs/reference/rest/auth#section-sign-in-with-oauth-credential是开始的正确地方,看起来绝对是我所需要的。

问题出在requestUri参数中。文档说:requestUri string The URI to which the IDP redirects the user back.。嗯...我根本不与用户互动,这是服务器端代码。

我应该使用哪个URL?我不知道,因此决定使用默认值:http://localhost。所以失败了。

UPD 1:

API:

V1:

  • / signup =>在我的数据库中注册用户,颁发令牌
  • /登录
  • / refresh_token

V2:

  • / signup已弃用,改为支持客户端身份验证
  • /登录-//-
  • / refresh_token-//-

API v1客户端(Facebook身份验证):

  • 使用Facebook Auth验证用户
  • 向API V1 / signup或/ login | / refresh_token发出请求

API v2客户端(Firebase身份验证):

  • 使用Firebase / Facebook Auth验证用户身份=>在Firebase DB中创建用户

我想要的是用于客户端V1的一致且兼容的API。 API V1的任何现有客户端(应用程序)都应该能够向v1 / signup端点发送请求,并以与V2客户端相同的状态结束:用户帐户是在Firebase中创建的

1 个答案:

答案 0 :(得分:0)

我认为您可能正在寻找以下资源:https://firebase.google.com/docs/auth/web/facebook-login

您将希望集成Facebook登录名(以及所有其他登录名),以便用户可以登录。如果有新用户登录,则Firestore会自动创建一个与新用户关联的帐户。