【发布时间】:2023-03-10 02:50:01
【问题描述】:
我们正在使用 Firebase 构建一个 angular 5 应用。 我们允许用户使用电子邮件+密码或谷歌帐户登录,我们不允许有多个帐户与同一个电子邮件地址相关。 我们构建了一个表单,允许用户在忘记电子邮件密码凭据时请求密码重置电子邮件,并且如果用户拥有电子邮件+密码帐户,则可以完美运行。
当请求重置电子邮件以提供 google 帐户时,就会出现问题。我们预计 firebase 会抛出错误,不允许发送电子邮件,但电子邮件已发送,并且如果用户继续重置电子邮件帐户已转换从 google 类型为电子邮件+密码.
有没有办法防止这种行为?
【问题讨论】:
-
在当前用户对象下,有一个名为“providerData”的属性,它是一个与该帐户关联的所有身份验证提供者的数组。数组中的每个对象都包含 providerID,对于 Google,它是“google.com”,对于电子邮件和密码,它是“password”。也许您可以使用此信息来决定仅向具有电子邮件和密码身份验证的用户显示此表单。 firebase.google.com/docs/reference/js/…
标签: firebase firebase-authentication