如何使用来自电子邮件/密码登录的身份验证令牌从Firebase RDB查询数据?

时间:2018-08-17 18:11:20

标签: firebase firebase-realtime-database firebase-authentication

我正在尝试使用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." 
} 

数据库:

enter image description here

规则:

{
  "rules": {
    ".read": false,
    ".write": false
  }
}

我正在尝试curl只是为了测试REST API调用。我实际上是使用Firebase.Auth nuget包从C#客户端访问Firebase。在那里,我得到完全相同的结果。

所以我的实际问题是

使用身份验证方法电子邮件/密码时,如何使用给定的身份验证令牌从实时数据库中获取数据?

0 个答案:

没有答案