我正在尝试使用curl查询Firebase实时数据库中的一些简单测试数据。为此,我通过Firebase控制台添加了一个用户,并确保通过电子邮件验证了该帐户。
然后,我使用以下curl进行身份验证并获取auth令牌。
curl "https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=<api-key>" -H "Content-Type: application/json" --data-binary "{'email':'<user>','password':'<pwd>','returnSecureToken':true}"
这将返回一个包含身份验证令牌的用户对象
{
"kind": "identitytoolkit#VerifyPasswordResponse",
"localId": "<userid>",
"email": "<email>",
"displayName": "",
"idToken": "<auth token>",
"registered": true,
"refreshToken": "<token>",
"expiresIn": "3600"
}
现在,我想使用以下命令来获取我当前拥有的唯一条目。
curl "https://timeyrd.firebaseio.com/timeyrd/01.json?access_token=<auth token>"
这将返回
{
"error" : "Unauthorized request."
}
数据库:
规则:
{
"rules": {
".read": false,
".write": false
}
}
我正在尝试curl只是为了测试REST API调用。我实际上是使用Firebase.Auth nuget包从C#客户端访问Firebase。在那里,我得到完全相同的结果。
所以我的实际问题是
使用身份验证方法电子邮件/密码时,如何使用给定的身份验证令牌从实时数据库中获取数据?