3

當嘗試通過Google使用使用Flask-restful和firebase-token-generator-python庫生成的自定義JWT令牌進行身份驗證時,出現此錯誤。簡而言之:Firebase:INVALID_TOKEN:無法驗證MAC

ref.authWithCustomToken(authData)

錯誤消息:

INVALID_TOKEN: Failed to validate MAC.

我使用角2.0.0-beta.2 /離子2.應用程序正在使用cordova-plugin-googleplus一個機器人設備上測試(在Google Developer Console中有必要的憑據)。我最近在nginx服務器上啓用了跨域請求。我無法在Firebase或SO上找到與此錯誤相關的任何文檔。

任何想法?

+0

我得到這個錯誤。事實證明,我的代碼中有一個錯字,祕密沒有像我想的那樣通過。 – David

回答

4

問題在於通過authData.toString()(包括分隔符和引號)將身份驗證令牌發送給Firebase,並將其格式化爲JSON字符串。無論如何,這肯定會引發Failed to validate MAC錯誤。

+1

這裏的MAC代表[消息認證碼](https://en.wikipedia.org/wiki/Message_authentication_code)。這意味着身份驗證令牌的內容沒有正確簽名。一種獲得錯誤的方法確實是錯誤地對令牌進行編碼。 –