这个问题在这里已有答案:
嗨,现在我正在使用firebase REST API
当我使用公共数据库规则
它成功地设置,更新或删除数据到数据库
/* database rule */
{
"rules": {
".read": true,
".write": true
}
}
/* Put data to database successful */
curl -X PUT -d '{
"alanisawesome": {
"name": "Alan Turing",
"birthday": "June 23, 1912"
}
}' 'https://mydatabe.firebaseio.com/users.json'
但我想使用auth REST,我怎样才能获得令牌?这是我的一步 .
首先将数据库规则更改为
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
然后我使用Firebase SDK通过谷歌登录并获取令牌
您可以通过“console.log(token);”看到我打印令牌 .
例如,我得到的标记是“AABBCCDD”
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(provider).then(function(result) {
var token = result.credential.accessToken;
var user = result.user;
console.log(token);
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
var email = error.email;
var credential = error.credential;
});
我检查了我的Firebase控制台>验证>用户,并且有我的帐户
这意味着我成功将我的帐户注册到数据库
其次我使用REST API
curl -X PUT -d '{
"alanisawesome": {
"name": "Alan Turing",
"birthday": "June 23, 1912"
}
}' 'https://mydatabe.firebaseio.com/users.json?auth=AABBCCDD'
但它返回 { "error" : "Could not parse auth token." }
那么问题是什么?这一步是什么?
谢谢
1 回答
我不知道到底出了什么问题......但要调试你可以试试
首先只能通过REST API读取
通过https://jwt.io/检查令牌是否有效 . 令牌需要有三个用点分隔的部分,也许你只是没有复制整个字符串 .