我有一个带有Firebase数据库的Node应用程序,其安全性如下:
{
"rules": {
".read": true,
"albums": {
".write": "auth != null",
}
}
}
我这样登录:
var firebaseTokenGenerator = require('firebase-token-generator'),
firebase = require('firebase');
var tokenGenerator = new firebaseTokenGenerator('my key');
var token = tokenGenerator.createToken();
var albumRef = new firebase('https://glowing-fire-8113.firebaseio.com/albums');
albumRef.auth(token, function(err) {
if(err) {
console.log("Authentication failed!");
} else {
console.log("Login succeeded!");
}
});
我得到了#34;登录成功!"打印到控制台。
然后,我稍后调用此函数:
var addAlbum = function(album, callback) {
if(album["album"] && album["artist"] && album["image"]) {
albumRef.push().set(album);
callback(null);
}
callback(new Error("Album JSON was missing some items"));
};
但是,我打印出来了:
FIREBASE WARNING: set at /albums/-JMU95j8W4Vz3kchhNzL failed: permission_denied
这里发生了什么?我的身份验证不正确吗?
作为参考,我使用
"firebase" : "1.0.14",
"firebase-token-generator" : "0.1.4",