javascript - 使用角度删除firebase auth中的用户
问题描述
在我的 angular 和 firebase 应用程序中,我有一个管理员,我希望管理员能够从 firebase auth 中删除用户,此时我有所有用户的电子邮件,我该如何通过电子邮件执行此操作?我只找到了这段代码,但它不起作用。
var user = firebase.auth().currentUser;
user.delete().then(function() {
// User deleted.
}).catch(function(error) {
// An error happened.
});
提前致谢。
解决方案
使用客户端 SDK(例如 JavaScript SDK)进行 Firebase 身份验证时,用户只能访问和删除自己的帐户。这是设计使然,因为其他任何事情都会带来重大的安全风险。
Firebase 确实提供了所谓的 Admin SDK,用于受信任的环境,例如您的开发机器、您控制的服务器或 Cloud Functions。由于这些 Admin SDK 在受信任的环境中运行,因此它们支持更广泛的操作集,例如根据用户的 UID删除或停用项目中的任何用户。
但是 Admin SDK 只能在受信任的环境中使用。它们不能包含在客户端应用程序中,例如在您的 Angular 应用程序中。
这意味着您通常必须采取两步走的方法:
- 创建使用 Admin SDK 删除您指定的用户的自定义 API/服务器端端点(例如Callable Cloud Function )。在此代码中,您需要确保调用来自受信任的用户,例如通过硬编码允许进行此类调用的 UID。
- 然后从您的应用程序代码中调用此端点。
推荐阅读
- oracle-apex - Oracle APEX - 使用重定向到页面时该值不会结转
- swift - 数学公式迅速
- c - 在 C 中的 Ubuntu 上获取“分段错误(核心转储)”以获得哈希表
- python - Pandas 和 Python:在 for 循环之外保存 .sum() 的结果
- c# - Xamarin:无法解析引用:`System.Threading.Tasks.Extensions`,由`MySqlConnector`引用。
- tableau-api - 在 Tableau 中计算周数(从特定月份开始)
- android - 让 OkHttp 信任所有 SSL 证书
- excel - Excel VBA - 当行中的其他值符合条件时比较单元格值
- javascript - 对象布尔函数的问题
- asp.net-web-api - 使用用户名和密码的安全 Web API 发布方法