Благодаря this answer Я могу подключиться к Firebase 3 через HTTP REST API и по электронной почте/паролю. Вход в этот API возвращает токен доступа, который используется для доступа к базе данных Firebase. Этот токен доступа истекает через 1 час. Токен обновления также возвращается после входа в систему, который я могу использовать для обновления токена доступа. Вот то, что я делаю, а именно:Как получить доступ к моей базе данных Firebase через HTTP REST API?
Метод:
POST
URL:
https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=<my-firebase-api-key>
Payload:
{
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"
}
В случае освежать мой маркер доступа:
URL:
https://securetoken.googleapis.com/v1/token?key=<my-firebase-api-key>
Payload:
{
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, учитывая, что у меня есть доступ к tok ан?
Это лучший ответ, который я получил. Документ Firebase настолько запутанный и запутанный! Они даже не говорят об idToken нигде в документах REST. Какой позор. Большое спасибо за это. – Richeek
Привет, Я пытаюсь разрешить некоторые json-файлы быть общедоступными, а другие нет. Я делал это '{" rules ": {" publicjson ": {" .read ": true," .write ": false}," .read ":" auth! = Null "," .write ": false} } '. У меня нет проблем с доступом к 'publicjson'. Однако я не могу получить доступ к любому другому json, который подпадает под правило '.read:: auth! = Null '. Я стараюсь, чтобы почтальон выполнял запрос 'GET' с помощью' Authorization: Bearer xxx', но не повезло. Знаете ли вы что-нибудь об этом? Идея заключалась бы в том, чтобы иметь ключ доступа, хранящийся в приложении, и использоваться в запросах. Нет таблицы пользователя.Спасибо –
@Richeek Знаете ли вы что-нибудь о том, что я спросил выше? ^^^ Спасибо –