尝试使用使用Flask-restful和firebase-token-generator-python库生成的自定义JWT令牌通过Google进行身份验证时出现此错误。简而言之:
ref.authWithCustomToken(authData)
错误讯息:
INVALID_TOKEN: Failed to validate MAC.
我正在使用Angular 2.0.0-beta.2 / Ionic 2.该应用正在使用cordova-plugin-googleplus在Android设备上进行测试(在Google Developer Console中有必要的凭据)。我最近在nginx服务器上启用了跨域请求。我无法在Firebase或SO上找到与此错误相关的任何文档。
有什么想法吗?
答案 0 :(得分:4)
问题是通过authData.toString()
向{@ 1}}格式化为JSON字符串的Firebase发送身份验证令牌,包括分隔符和引号。无论这意味着什么,都必须抛出Failed to validate MAC
错误。
答案 1 :(得分:2)
使用错误的密钥时出现同样的错误。我在Firebase控制台的主页上使用了es6-promise
提供的权限,而我应该使用https://console.firebase.google.com/project/YOUR_PROJECT/settings/database处提供的数据库密钥。