如何根据电子邮件地址和密码从 Firebase 更新或删除用户

Posted

技术标签:

【中文标题】如何根据电子邮件地址和密码从 Firebase 更新或删除用户【英文标题】:How to update or remove a user from Firebase based on Email Address and Password 【发布时间】:2021-08-18 02:29:40 【问题描述】:

我可以使用以下命令创建用户:createUserWithEmailAndPassword

我可以使用以下命令登录用户:signInWithEmailAndPassword

(参考:Firebase Password Authentication)

但是,我遇到了用户的密码自上次访问我的应用程序后发生更改的情况。我需要删除 Firebase 帐户并重新创建它,或者更新密码。我在引用的 Firebase 文档中也没有看到任何支持的内容。有可能吗?

【问题讨论】:

【参考方案1】:

Firebase 确实通过电子邮件支持password resets,如果这是您正在寻找的。​​p>

你也可以删除用户,但是如果你没有登录信息而无法访问当前用户对象,你需要使用Admin SDK来manage the users。

【讨论】:

【参考方案2】:

如果用户忘记密码,可以requet a password reset email。

如果您想删除用户的帐户,则只能通过 Admin SDK 从受信任的环境(例如您的开发机器、您控制的服务器或 Cloud Functions)中完成。请参阅deleting a user account 上的文档。

【讨论】:

这是我的问题:UN/PW 是在应用程序之外的网站上创建和维护的。用户创建一个网站帐户,稍后使用相同的 UN/PW 创建 Firebase 帐户。然后,用户在网站上更改他们的密码。现在,用户无法登录应用程序,因为 PW 不匹配。所以我要么需要删除并重新创建 Firebase 帐户,更新其密码,要么永久存储原始 PW 以供 Firebase 登录,所有这些都不需要用户做任何事情。这些听起来都不理想,但我需要想办法在我部署的应用程序上进行这项工作。 我想我可能需要清除所有 Firebase 帐户,为每个用户建立一个专用的辅助 Firebase 密码(永远不会更改),并使用该密码自动登录到 Firebase。 我不完全确定你在网站上创建用户是什么意思,但听起来你在两个地方存储了相同的信息——这势必会导致这类问题.我强烈建议将用户凭据存储在一个地方(通常是 Firebase),并从中派生所有功能。

以上是关于如何根据电子邮件地址和密码从 Firebase 更新或删除用户的主要内容,如果未能解决你的问题,请参考以下文章

firebase:如何链接电子邮件验证和密码

使用 Firebase 用户管理添加额外字段

如何根据位置从“回收”视图中删除Firebase数据库密钥

如何使用 Firebase 9 电子邮件和密码创建用户并将该用户的其他数据保存在 firebase db 集合中?

如何使用用户名和密码登录?

如何从firebase中的电子邮件中获取用户信息