首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从用户操作中保护Firebase帐户等?

如何从用户操作中保护Firebase帐户等?
EN

Stack Overflow用户
提问于 2017-05-02 08:16:34
回答 1查看 303关注 0票数 1

我正在开发一个业余项目,使用Firebase和一些运行在Google上的Node.JS作为后端。我在这方面是个真正的新手,一个月前我还听说过Firebase。

我的问题是,尽管Firebase在客户端以JS的形式运行,但如何从用户操作中保护各种“事物”。

我知道可以使用逻辑规则来保护DB和存储--这是已经到位的。

我的问题更多地涉及到用户可以使用firebase.auth()和类似工具执行的操作,例如:

  • firebase.auth().createUserWithEmailAndPassword()
  • firebase.auth().currentUser.delete()
  • firebase.auth().currentUser.link()

正如我从下面链接的问题中了解到的,没有解决方案--用户将始终能够调用这些函数,而且由于它们不能访问其他用户帐户,因此被认为是低风险的。"prevent firebase user from deleting himself"

我担心无法阻止用户进行这些操作,因为我无法对DB执行相关的更改。对于一些基本的用例,我假设很容易设置一个夜间批处理作业来清理,但我担心将来会出现更复杂的问题。

我目前用于执行原子操作的解决方案,例如删除数据库中的用户帐户和删除用户数据,是向我的后端Node.JS服务器发送请求。这很好,但据我所知,用户可以通过传递它并请求(例如,currentUser.delete() )。另一种情况是,用户断开了google帐户的链接。我希望用户被注销,但有了前提,用户可以取消与后续行动的链接。

问题:我有误解什么吗?这能很容易地被预防吗?还是说所有可用的操作都被认为是无害的,这取决于我是否可以执行聪明的清理等等?如果它不能被阻止,你还有比夜间批量工作更聪明的建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-03 16:57:59

例如,对于用于firebase的云函数,您可以在用户删除时触发一个函数。这样,每次删除用户时,您都可以运行代码来进行清理。不管如何调用用户删除。

代码语言:javascript
复制
exports.removeUserFromDatabase = functions.auth.user().onDelete(function(event) {
    // Get the uid of the deleted user.
    var uid = event.data.uid;

    // Remove the user from your Realtime Database's /users node.
    return admin.database().ref("/users/" + uid).remove();
});

"onCreate“也是如此。查看他们的文档https://firebase.google.com/docs/auth/extend-with-functions

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43733204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档