允许多个Firebase帐户使用相同的电子邮件地址是否安全?

时间:2016-07-09 21:55:13

标签: facebook google-chrome firebase firebase-authentication

我正在努力使用“联合”提供商(例如Google,Facebook等)将Firebase身份验证添加到网络应用中。

我立即发现默认设置的限制,“每个电子邮件地址一个帐户”。例如,拥有Google和Facebook相同电子邮件的用户只能使用其中一个,而不能同时使用这两个。

solution警告我:“如果您允许使用相同电子邮件地址的多个帐户,则您应用的登录流程不能依赖电子邮件地址来识别用户帐户。”

我无法弄清楚这是否是我需要担心的事情。替代方案似乎是非常类似意大利面条的代码,用于搜索第二个提供商的凭据,然后将其填入第一个提供商的凭证中。

2 个答案:

答案 0 :(得分:2)

允许用户使用Facebook或Google帐户使用相同的电子邮件地址登录是一项称为account linking的强大功能。

如果您发现将帐户关联(或与登录相关的其他流程)工作变得棘手,我建议您使用FirebaseUI,webiOS和{{3}为你调味并处理这些流程。

答案 1 :(得分:0)

我发现了一个棘手的问题。

Firebase有两种模式:

  1. allow multiple accounts per email:TRUE-启用此功能,您就可以使用Facebook和Gmail登录,但是它们不会向您发送用户的电子邮件,它们只会发送gmail.uid和facebook.uid,无法知道它们之间的关系

  2. allow multiple accounts per email:FALSE-firebase向您发送电子邮件信息,但是如果您使用google登录,则无法使用facebook登录(因为facebook是“不受信任的提供者”)-那么为什么还要显示该按钮?