Firebase: INVALID_TOKEN: не удалось проверить MAC

Я получаю эту ошибку при попытке пройти аутентификацию через Google с использованием пользовательских токенов JWT, сгенерированных с помощью библиотеки Flask-restful и firebase-token-generator-python. Короче говоря:

ref.authWithCustomToken(authData)

Сообщение об ошибке:

INVALID_TOKEN: Failed to validate MAC.

Я использую Angular 2.0.0-beta.2/Ionic 2. Приложение тестируется на устройстве Android с использованием cordova-plugin-googleplus (с необходимыми учетными данными в Google Developer Console). Недавно я включил междоменные запросы на сервере nginx. Я не могу найти документацию, связанную с этой ошибкой, в Firebase или SO.

Любые идеи?


person MachuPichu    schedule 05.02.2016    source источник
comment
Я получал эту ошибку. Оказывается, у меня была опечатка в моем коде, и секрет не передавался, как я думал.   -  person David    schedule 04.05.2016


Ответы (2)


Проблема заключалась в отправке токена аутентификации в Firebase в формате строки JSON через authData.toString(), включая разделители и кавычки. Должно быть, это вызвало ошибку Failed to validate MAC, что бы это ни значило.

person MachuPichu    schedule 05.02.2016
comment
MAC в этом контексте означает код аутентификации сообщения. Это означает, что содержимое токена аутентификации не было должным образом подписано. Один из способов получить ошибку — это действительно неправильно закодировать токен. - person Frank van Puffelen; 05.02.2016

Я получил ту же ошибку при использовании неправильного ключа. Я использовал apiKey, предоставленный прямо на главной странице в консоли Firebase, в то время как я должен был использовать секретный ключ базы данных, указанный в https://console.firebase.google.com/project/YOUR_PROJECT/settings/database..

person Mark    schedule 20.03.2017
comment
Вот в чем проблема была для меня. Спасибо! - person LennonR; 07.04.2017