8
感谢this answer我可以通过HTTP REST API和电子邮件/密码连接到Firebase 3。使用此API登录会返回用于访问Firebase数据库的访问令牌。此访问令牌在1小时后过期。登录后也会返回一个刷新令牌,我可以使用该令牌刷新我的访问令牌。下面是我特别做:如何通过HTTP REST API访问我的Firebase数据库?
方法:
POST
网址:
https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=<my-firebase-api-key>
有效载荷:
{
email: "<email>",
password: "<password>",
returnSecureToken: true
}
响应:
{
"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"
}
在刷新我的访问令牌的情况下:
网址:
https://securetoken.googleapis.com/v1/token?key=<my-firebase-api-key>
有效载荷:
{
grant_type: "refresh_token",
refresh_token: "<refresh-token>"
}
响应:
{
"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 REST API给予我有我的访问权限恩?
这是我得到的最佳答案。 Firebase文档非常混乱和混乱!他们甚至不会在REST文档中的任何地方讨论idToken。这样的耻辱。非常感谢。 – Richeek
嗨,我试图让一些json文件公开可用,其他人不是。我在做这个'{“rules”:{“publicjson”:{“.read”:true,“.write”:false},“.read”:“auth!= null”,“.write”:false} }'。访问'publicjson'我没有问题。但是,我无法访问任何属于''.read“:”auth!= null“'规则的其他json。我试图让邮递员用'Authorization:Bearer xxx'做'GET'请求,但没有运气。你知道这件事吗?这个想法只是将访问密钥存储在应用程序中并用于请求中。不需要用户表。谢谢 –
@Richeek你知道我上面提到的什么吗? ^^^感谢 –