Mar*_*coS 8 firebase firebasesimplelogin
我的角度应用程序运行用户处理页面,超级用户(管理员)应该能够编辑用户数据.他不允许添加新用户(他们有一个注册页面,他们选择自己的密码),但他应该能够(根据我的逻辑)删除用户...
这是removeUser() firebase-simple-login API文档页面,这是同一页面中的一个用法示例:
auth.removeUser(email, password, function(error) {
if (error === null) {
console.log("User removed successfully");
} else {
console.log("Error removing user:", error);
}
});
Run Code Online (Sandbox Code Playgroud)
因此,应用程序应该知道密码...我在注册时是否应该在用户的数据中保存用户的密码?
但是这样我就失去了firebase-simple-login的主要优势(避免在本地存储私有/敏感数据)......
请解释我的错误,在任何...
更新:感谢Rob DiMarco的评论,我现在明白了这个问题的理由:removeUser()设计为用户自己使用后再次提供密码...如果管理员需要删除帐户,他/她应该在本地用户的元数据上设置一些"已删除"标志,并在firebase上保持该帐户不变.如果用户决定重新激活同一帐户,软件应该只删除"已删除"标志,并auth.login()使用新用户提供的用户名/密码执行标准...
更新2:这种方法唯一的小问题(如果是一个问题)是想要恢复"已删除"帐户的用户必须记住旧密码,因为我们没有删除firebase-simple-login帐户...但是,她可以随时以"登录"形式重置密码(如果她是电子邮件帐户的真正所有者......).
@Rob DiMarco:如果你想发表评论作为答案,我很乐意接受它......
我建议您不要直接删除用户帐户,而是通过将仅限管理员的元数据写入用户帐户来简单地禁用帐户,但这些记录是在 Firebase 中存储和构建的。
然后,您可以针对此“锁定”/“禁用”标志使用安全规则,并获得所需的功能,而无需存储用户密码。
| 归档时间: |
|
| 查看次数: |
1404 次 |
| 最近记录: |