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

登录时Firebase用户合并身份验证提供程序

李联
2023-03-14

在我的Angular 2应用程序中,我希望允许用户通过电子邮件/密码、谷歌和Facebook提供商进行连接。

在第一次登录时,我了解到一个用户条目是在firebase数据库中创建的。例如facebook:uuid。如果用户使用另一个提供程序登录,我理解firebase将阻止此操作,特别是如果电子邮件已经被使用并且在规则中设置为unique。

所以我的问题是:如果我们检测到电子邮件是相同的,那么我们如何能够自动的,对用户来说是透明的,合并数据。

在像udemy这样伟大的网站上,或者其他大公司上,我们可以使用几种方法进行身份验证。我尝试使用Facebook和Google(都使用相同的电子邮件)登录,他们自动将我重定向到我唯一的个人资料,而不需要我的任何行动来确认我想要链接我的帐户与其他供应商。

如何在Firebase中实现这一点呢?我们是不是一定要复制数据,做自己的“用户数据汇聚”?

共有1个答案

满子实
2023-03-14

当用户登录Firebase身份验证时,不会在Firebase数据库中自动创建任何条目。如果你的应用程序创建了这样的条目,你有代码为你做。这是很常见的,但不是自动的。

如果您希望允许用户通过任何受支持的提供商登录到同一个帐户,那么您将查找帐户链接。在这里有文档记录:https://firebase.google.com/docs/auth/web/account-linking

 类似资料:
  • 该应用程序应该接受用户电子邮件和密码,并使用Firebase身份验证作为后端。我使用像素2作为模拟器。每次应用程序处理登录功能时,它都会崩溃。 下面是Java文件和gradle文件 Java文件:

  • 使用,https://github.com/firebase/FirebaseUI-Android/tree/master/codelabs/chat作为登录的参考,我在键入时似乎遇到了问题 我只能键入Auth的提供者,而不能键入,为什么会这样,它提示我键入社会提供者。

  • 当使用Firebase身份验证匿名帐户时,它偶尔会在系统中创建一个新的用户ID,有时它会使用相同的用户ID。我真的希望每次都能创建相同的用户ID,这样匿名用户仍然可以在应用程序中维护相同的进度/数据。这实际上是我开始使用Firebase的原因。即使在重新启动应用程序等之后,我如何始终维护一个匿名帐户来保持相同的用户ID? 我希望用户每次以访客身份玩游戏时都能获得相同的ID。我看到有些应用程序在卸载

  • 我已经创建了身份提供程序,并且从浏览器中它工作正常。 参考:密钥斗篷身份提供程序后代理登录抛出错误 从浏览器,我可以使用外部IDP登录,如果外部IDP用户不在keycloak中,它会在keyclock中创建,这绝对没问题,并重定向到仪表板。 但我的问题是,我们如何用keycloak rest api实现这个流程? 是否有任何api用于使用外部IDP登录,并将获得外部IDP的令牌以及密钥斗篷的令牌?

  • security_applicationcontext.xml UserDetailService实现 } 斯塔克特雷斯。虽然没有例外,但我捕获了stacktrace以供参考。

  • 本文向大家介绍firebase-authentication Google Plus登录身份验证,包括了firebase-authentication Google Plus登录身份验证的使用技巧和注意事项,需要的朋友参考一下 示例 使用Plus登录验证用户 onCreate onStart() 获取资料信息 使用Firebase进行身份验证, onActivityResult 登出