Nhờ this answer Tôi có thể kết nối với Firebase 3 thông qua API REST HTTP và email/mật khẩu. Đăng nhập bằng API này trả về mã thông báo truy cập được sử dụng để truy cập Cơ sở dữ liệu Firebase. Mã thông báo truy cập này sẽ hết hạn sau 1 giờ. Mã thông báo làm mới cũng được trả lại sau khi đăng nhập, mà tôi có thể sử dụng để làm mới mã thông báo truy cập của mình. Dưới đây là những gì tôi đang làm cụ thể:Làm cách nào để truy cập Cơ sở dữ liệu Firebase của tôi qua API REST HTTP?
Phương pháp:
POST
URL:
https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=<my-firebase-api-key>
Payload:
{
email: "<email>",
password: "<password>",
returnSecureToken: true
}
đáp ứng:
{
"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"
}
Trong trường hợp làm mới thẻ truy cập của tôi:
URL:
https://securetoken.googleapis.com/v1/token?key=<my-firebase-api-key>
Payload:
{
grant_type: "refresh_token",
refresh_token: "<refresh-token>"
}
đáp ứng:
{
"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>"
}
Làm thế nào để truy cập vào cơ sở dữ liệu của tôi qua HTTP REST API cho rằng tôi có quyền truy cập của mình vi?
Đây là câu trả lời hay nhất tôi nhận được. Tài liệu Firebase rất lộn xộn và khó hiểu! Họ thậm chí không nói về idToken ở bất kỳ đâu trong tài liệu REST. Thật là ngại quá. Cảm ơn rất nhiều vì điều này. – Richeek
Xin chào, tôi đang cố gắng cho phép một số tệp json hiển thị công khai và những tệp khác không có. Tôi đã làm điều này '{" quy tắc ": {" publicjson ": {" .read ": true," .write ": false}," .read ":" auth! = Null "," .write ": false} } '. Tôi không gặp vấn đề gì khi truy cập 'publicjson'. Tuy nhiên, tôi không thể truy cập bất kỳ json nào khác nằm trong quy tắc '" .read ":" auth! = Null "'. Tôi đang cố gắng để đưa ra yêu cầu 'GET' với' Authorization: Bearer xxx' nhưng không may mắn. Bạn có biết gì về điều này không? Ý tưởng sẽ chỉ là có khóa truy cập được lưu trữ trong ứng dụng và được sử dụng trong các yêu cầu. Không có bảng người dùng cần thiết.Cảm ơn –
@Richeek Bạn có biết gì về những gì tôi đã hỏi ở trên không? ^^^ Cảm ơn –