0

你好我现在用的火力REST API当我使用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" 
    } 
} 

然后我用火力地堡SDK由谷歌登录并获得令牌

你可以看到我打印由令牌“的console.log(令牌);”

例如,我得到令牌“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;  
}); 

我检查了我的火力地堡控制台>验证>用户里面就有我的帐户

所以这意味着我成功的将自己的帐户注册数据库

其次,我使用REST API像

curl -X PUT -d '{ 
    "alanisawesome": { 
    "name": "Alan Turing", 
    "birthday": "June 23, 1912" 
    } 
}' 'https://mydatabe.firebaseio.com/users.json?auth=AABBCCDD' 

但是,[R eturned { "error" : "Could not parse auth token." }

那么是什么问题?哪一步是worng?

感谢

回答

0

我不知道究竟是错的...但调试你可以尝试

  1. 第一只通过REST API读
  2. 检查如果令牌通过https://jwt.io/有效。标记需要用点分隔三个部分,也许你只是没有复制整个字符串。