首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过HTTP访问我的Firebase数据库?

如何通过HTTP访问我的Firebase数据库?
EN

Stack Overflow用户
提问于 2016-11-10 05:45:22
回答 1查看 28.7K关注 0票数 16

多亏了this answer,我才能通过HTTP和电子邮件/密码连接到Firebase 3。使用此API登录将返回用于访问Firebase数据库的访问令牌。此访问令牌在1小时后过期。登录后还会返回刷新令牌,可以使用该令牌刷新访问令牌。以下是我正在做的具体工作:

方法:

代码语言:javascript
复制
POST

URL:

代码语言:javascript
复制
https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=<my-firebase-api-key>

有效载荷:

代码语言:javascript
复制
{
    email: "<email>",
    password: "<password>",
    returnSecureToken: true
}

响应:

代码语言:javascript
复制
{
    "kind": "identitytoolkit#VerifyPasswordResponse",
    "localId": "<firebase-user-id>", // Use this to uniquely identify users
    "email": "<email>",
    "displayName": "",
    "idToken": "<provider-id-token>", // Use this as the auth token in database requests
    "registered": true,
    "refreshToken": "<refresh-token>",
    "expiresIn": "3600"
}

在刷新我的访问令牌时:

URL:

代码语言:javascript
复制
https://securetoken.googleapis.com/v1/token?key=<my-firebase-api-key>

有效载荷:

代码语言:javascript
复制
{
    grant_type: "refresh_token",
    refresh_token: "<refresh-token>"
}

响应:

代码语言:javascript
复制
{
  "access_token": "<access-token>",
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "<refresh-token>",
  "id_token": "<id-token>",
  "user_id": "<user-id>",
  "project_id": "<project-id>"
}

:如果我有访问令牌,如何通过HTTP访问数据库?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-12 20:05:21

因此,在与技术支持部门沟通之后,我的答案是:

在您的数据库规则中,包括这样的内容,这些内容与您正在做的工作兼容:

代码语言:javascript
复制
{
"rules": {
"users": {
"$user_id": {
// grants write access to the owner of this user account
// whose uid must exactly match the key ($user_id)
".write": "$user_id === auth.uid",
".read": "$user_id === auth.uid"
}
    }
  } 
}

在数据库中,创建一个users表,并在该表中创建一个表,其中包含您正在使用的身份验证电子邮件/密码帐户的<user-id>名称。在该表中是您可以通过access-key访问的信息。

然后发送这样的请求:

代码语言:javascript
复制
https://samplechat.firebaseio-demo.com/users/<user-id>.json?auth=<access-key>

在谷歌的JSON响应中,access-keyidTokenid_Tokenaccess_key的关键。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40520696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档