首页 文章

当我使用firebase REST api时,如何获得身份验证令牌? [重复]

提问于
浏览
0

这个问题在这里已有答案:

嗨,现在我正在使用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 回答

  • 0

    我不知道到底出了什么问题......但要调试你可以试试

    • 首先只能通过REST API读取

    • 通过https://jwt.io/检查令牌是否有效 . 令牌需要有三个用点分隔的部分,也许你只是没有复制整个字符串 .

相关问题