【发布时间】:2016-12-02 07:48:48
【问题描述】:
嗨,现在我正在使用 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 通过 google 登录并获取令牌
你可以看到我通过“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 控制台 > Auth > User 并且有我的帐户
这意味着我成功将我的帐户注册到数据库
第二次我像使用 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." }
那么问题是什么?哪一步磨损了?
谢谢
【问题讨论】:
标签: javascript rest firebase firebase-realtime-database firebase-authentication