У меня возникают некоторые проблемы, связанные с аутентифицированным запросом Firebase.
У меня есть токен, но когда я отправляю его в Firebase, я всегда получаю ответ Unauthorized request.
при отправке access_token
в запросе. Странная часть заключается в том, что она работает без параметра.
Я даже тестировал без правил доступа, но получаю тот же результат.
Когда я отправляю curl 'https://<PROJECTID>.firebaseio.com/events.json'
, я возвращаю значения ожидания, но если я отправлю curl 'https://<PROJECTID>.firebaseio.com/events.json?access_token=<TOKEN>'
, ответ будет
{ "error" : "Unauthorized request." }
Я попытался отправить его в заголовок, как curl -H "Authorization: Bearer <TOKEN>" https://<PROJECTID>.firebaseio.com/events.json
, но не работает.
Если я применяю некоторые правила в базе данных, исходный запрос без маркера дает мне
{ "error" : "Permission denied" }
но я все равно получаю { "error" : "Unauthorized request." }
, если я отправляю токен.
Любая помощь будет высоко оценена.
UPDATE
Удалось это исправить. Я не получил маркер должным образом. После проверки этого потока я заметил, что я не отправлял https://www.googleapis.com/auth/userinfo.email
в массив scopes
при выполнении запроса для токена. После добавления он отлично работает.
ОБНОВЛЕНИЕ 2
Как упоминалось Xin Meng, это довольно ясно в Firebase Authenticate REST Requests documentation.