我在向Firebase发送经过身份验证的请求时遇到了一些问题。
我生成了令牌,但当我将其发送到Firebase时,我在请求中发送Unauthorized request.
时始终会收到access_token
响应。奇怪的是,它没有参数。
我甚至测试过没有访问规则,但我得到了相同的结果。
当我发送curl 'https://<PROJECTID>.firebaseio.com/events.json'
时,我会收到预期值,但如果我发送curl 'https://<PROJECTID>.firebaseio.com/events.json?access_token=<TOKEN>'
答案是
{ "error" : "Unauthorized request." }
我已尝试在curl -H "Authorization: Bearer <TOKEN>" https://<PROJECTID>.firebaseio.com/events.json
这样的标题中发送,但也无效。
如果我在数据库中强制执行某些规则,那么没有令牌的初始请求就会给我
{ "error" : "Permission denied" }
但如果我发送令牌,我仍会获得{ "error" : "Unauthorized request." }
。
非常感谢任何帮助。
更新
管理修复它。我没有正确获得令牌。检查this thread后,我注意到在执行令牌请求时我没有在https://www.googleapis.com/auth/userinfo.email
数组中发送scopes
。添加后效果很好。
更新2
正如辛萌所提到的,Firebase Authenticate REST Requests documentation也是如此。
答案 0 :(得分:0)
这个问题是&#34;自我解答&#34;,请参阅问题的底部。这里的答案只是为了使这个问题不被列为&#34;未答复&#34;。