【发布时间】:2017-02-08 12:14:47
【问题描述】:
在我们的应用程序中,我们使用“每个电子邮件地址一个帐户”。我们希望用户使用我们跟踪并坚持使用的特定身份验证提供商进行注册。
我今天注意到的是,如果我使用 Google 或 Facebook 提供商登录,我可以向自己发送一个指向相关电子邮件地址的密码重置链接,这样我就可以改用电子邮件/密码提供商。 根据第一个提供者的不同,行为会略有不同:
- 如果我先使用 Google,在使用密码重置链接后,我现在可以使用任一提供商登录,并且两者都链接到同一个 firebase uid。如果我调试,我可以在我从 Firebase 返回的 authData 对象的 providerDetails 数组中看到两者。
- 如果我首先使用 Facebook,在我使用密码链接后,密码提供程序将完全替换 Facebook 的,尽管它保留了旧的 firebase uid。此时我无法再使用 Facebook 登录。
我的问题是:这种行为是有意为之的吗?有没有办法将其关闭?
如果说用户使用 Facebook(我们跟踪)登录然后忘记并发送密码重置,这可能会导致混淆。这不是世界末日,因为他们可以继续使用密码登录,但它肯定会搅浑水。
谢谢
【问题讨论】:
-
好问题,有兴趣fb工作人员回答!
标签: firebase firebase-authentication