2

在我的Angular 2应用中,我想允许用户通过电子邮件/密码,Google和Facebook提供商进行连接。Firebase用户在登录时合并验证提供商

第一次登录时,我明白在firebase数据库中创建了一个用户条目。例如facebook:UUID。如果用户使用其他提供商登录,我知道firebase会阻止此操作,尤其是在电子邮件已被使用且已在规则中设置为唯一的情况下。

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

在udemy或其他大公司这样的伟大网站上,我们可以使用多种方法进行验证。我尝试使用Facebook和Google(均使用相同的电子邮件)登录,并且他们自动将我重定向到我独有的个人资料,而无需我方的任何操作,以确认我想将我的帐户与其他提供商关联。

这怎么能在Firebase中实现? 我们是否需要复制数据并制作我们自己的“用户数据收集”?

回答

2

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

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

+0

我看到这个页面帐户链接,但它似乎需要用户的操作。有什么办法自动创建这个链接?当你说登录时在数据库中输入一些数据是很常见的:你有没有例子? – BlackHoleGalaxy

+0

请参阅http://stackoverflow.com/search?q=%5Bfirebase-authentication%5D+list+of+users –

相关问题