查找用户之前是否已登录

时间:2018-01-31 11:52:29

标签: firebase-authentication

Firebase Authenticaiton允许用户使用Google或Facebook等提供商登录。

但是,如果用户之前从未使用指定的提供商登录,则会自动为其生成新的用户帐户,并立即登录。

这有两个原因。

首先,开发人员可能希望在新用户登录之前在服务器上运行一些代码,例如在数据库中为用户准备文档。

其次,用户之前可能已使用提供商帐户登录该网站,但无法记住他们使用的是哪一个。如果他们选择登录的帐户之前尚未登录,则向用户显示确认对话框以确认他们希望在网站中创建新帐户会很有用。在某些情况下,用户可能决定不会,也可能尝试使用其他帐户,以查找他们之前登录过的帐户。

那么,有没有办法让用户完成通常的OAuth流程,选择要登录的用户,确定他们之前是否已登录,如果他们没有,则显示确认信息,以及然后,如果他们确认,创建用户,或者如果帐户已经存在,并在其中签名?

那么,有没有办法实现以下流程?

  1. 用户选择使用常规Google OAuth流量的帐户。
  2. 如果该帐户已在该网站注册,则会登录。
  3. 如果帐户未在网站上注册,系统会要求用户确认是否要创建新帐户。
  4. 如果用户想要创建新帐户,则会创建新帐户并对数据库执行其他操作,例如为新用户准备某些数据库文档。
  5. 创建新帐户后,用户将在浏览器中登录。

1 个答案:

答案 0 :(得分:0)

是的,登录方法返回一个UserCredential对象,其中包含AdditionalUserInfo个对象。您可以从additionalUserInfo对象中检查isNewUser属性。