有没有办法从 firebase 获取特定用户帐户然后将其删除?
例如:
// I need a means of getting a specific auth user.
var user = firebase.auth().getUser(uid);
// Note the getUser function is not an actual function.
之后,我想删除该用户及其附加数据:
// This works
user.delete().then(function() {
// User deleted.
var ref = firebase.database().ref(
"users/".concat(user.uid, "/")
);
ref.remove();
});
Firebase 文档指出如果用户当前已登录,则可以将其删除:
firebase.auth().currentUser.delete()
我的目标是允许登录的管理员用户从系统中删除其他用户。
使用客户端 SDK 进行 Firebase 身份验证时,您只能删除当前登录的用户帐户。其他任何操作都会带来巨大的安全风险,因为它会允许您的应用的用户删除彼此的帐户。
The 管理 SDKFirebase 身份验证旨在在受信任的环境中使用,例如您的开发计算机、您控制的服务器或 Cloud Functions。由于它们在受信任的环境中运行,因此它们可以执行客户端 SDK 无法执行的某些操作,例如只需知道用户帐户的 UID 即可删除用户帐户.
另请参阅:
- 从 Web 应用程序中删除经过 Firebase 身份验证的用户
另一种常见的方法是在 Firebase 数据库中保留允许列表/阻止列表,并据此对用户进行授权。看如何在 Firebase 3.x 中禁用注册
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)