Firebase 安全

Posted

技术标签:

【中文标题】Firebase 安全【英文标题】:Firebase security 【发布时间】:2014-08-11 08:32:39 【问题描述】:

我正在开发一个 android 应用程序。

我想用某种secret 简单地实例化一个 Firebase 对象,因此它只能用于我的代码。

现在,任何人都可以访问和修改我的数据。我该如何避免呢?

我试图在rules 上做这样的事情:


    "rules": 
        ".read": true,
        ".write": "auth == 'somepass'"
    

但是我应该把那个字符串放在我的引用上吗?

我该如何简单地做到这一点?我不想对用户进行身份验证,而是对应用程序进行身份验证。

【问题讨论】:

以security quickstart 开头。它涵盖了保护数据的基础知识,以及简单登录和使用 auth 变量的精彩介绍。 【参考方案1】:

看看这个: https://www.firebase.com/docs/security/api/rule/auth.html

您必须在服务器端生成一个令牌来验证您的用户。

如果你使用 node.js,你必须这样做:

var FirebaseTokenGenerator = require('./firebase-token-generator-node.js');
var tokenGenerator = new FirebaseTokenGenerator(YOUR_FIREBASE_SECRET);
var token = tokenGenerator.createToken('passKey': 'somepass');`

然后,在您的安全配置中:


    "rules": 
        ".read": true,
        ".write": "auth.passKey == 'somepass'"
    

如果您没有任何服务器,您可以使用简单登录。见:https://www.firebase.com/docs/web/guide/user-auth.html

希望对你有帮助!

【讨论】:

以上是关于Firebase 安全的主要内容,如果未能解决你的问题,请参考以下文章

所有存储桶的 Firebase 存储安全规则

如何根据用户配置文件配置 Firebase 安全规则?

我们如何为 Firebase 存储编写依赖于 Firebase 实时数据库中的值的安全规则? [复制]

如何使用命令行部署 Firebase 数据库安全规则?

每个文档颤动的 Firebase-firestore 安全规则

更改 firebase 安全角色