我想验证我的node.js应用程序将数据写入Firebase实时数据库并允许客户端读取 . 我的数据库架构的结构现在是:
"<db_name>": {
"users": { ... }
}
这是我到目前为止的规则配置:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": true
},
".write": true
}
}
}
这不应该至少允许对DB的所有写访问权限吗?此外,我尝试搜索有关如何使用Firebase数据库验证服务器应用程序的官方文档,但我能找到的只是如何使用Firebase管理员(这不是我需要的) .
在我的代码中我做:
const firebaseConfig = {
"apiKey": "xxx",
"authDomain": "xxx.firebaseapp.com",
"databaseURL": "https://xxx.firebaseio.com",
"projectId": "xxx",
"storageBucket": "xxx.appspot.com",
"messagingSenderId": "xxx"
}
firebase.initializeApp(firebaseConfig);
但这只是初始化连接 . 我还需要以某种方式通过Firebase授权我的服务器,通过持久的令牌或smth,我不确定...
Here's我发现的唯一明智的事情,但是从2015年开始,API已经发生了变化 .
1 回答
大多数文档都侧重于在受信任的环境中使用Node.js,您可以使用Admin SDK获得完全的管理访问权限 . 如果您在受信任的平台上,我建议使用它,然后将
setDatabaseAuthVariableOverride
调用为access the database with limited privileges .有关非受信任环境中客户端node.js的参考文档,请参阅https://firebase.google.com/docs/reference/node/ . 有一个signInWithEmailAndPassword method,允许您以普通用户身份登录 .