我想对我的node.js应用程序进行身份验证,以将数据写入Firebase实时数据库并允许客户端读取。我的数据库架构的结构现在是:
"<db_name>": {
"users": { ... }
}
这是我到目前为止的规则配置:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": true
},
".write": true
}
}
}
这是否至少应允许对DB的所有写访问? 而且,我尝试搜索有关如何使用Firebase数据库对服务器应用程序进行身份验证的官方文档,但我只能找到如何使用Firebase Admin(这不是我所需要的)。
在我的代码中,我这样做:
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授权服务器,我不确定...
Here's是我发现的唯一明智的选择,但这是从2015年开始的,API已经更改。
答案 0 :(得分:1)
大多数文档着重于在受信任的环境中使用Node.js,在此环境中您使用Admin SDK来获得完全的管理访问权限。如果您使用的是受信任的平台,建议您使用该平台,然后将setDatabaseAuthVariableOverride
调用到access the database with limited privileges。
有关非受信任环境中客户端node.js的参考文档,请参见https://firebase.google.com/docs/reference/node/。有signInWithEmailAndPassword
method,它应允许您以普通用户身份登录。