我正在尝试使用firebase admin sdk生成自定义令牌
const uid = '91f0bf4c-3e3c-441c-a21d-6a7fee341db5'
firebaseAdmin.auth().createCustomToken(uid)
使用此特定uid有时自定义标记可以工作,有时在客户端使用authWithCustomToken()时会出现此错误:
“AUTH /无效定制令牌” 自定义标记格式不正确。请查看文档。"
有什么办法可以调试令牌的内容吗?从表面上看," good"代币和“坏”"令牌看起来一样:
它们有3个部分,以.
答案 0 :(得分:3)
您可以转到https://jwt.io并解码自定义令牌。它应该是这样的:
{
"uid": "some-uid",
"iat": 1500147255,
"exp": 1500150855,
"aud": "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",
"iss": "firebaseserviceaccount@YOUR_PROJECT_ID.iam.gserviceaccount.com",
"sub": "firebaseserviceaccount@YOUR_PROJECT_ID.iam.gserviceaccount.com"
}
YOUR_PROJECT_ID
应与客户端项目中的同一项目匹配。
答案 1 :(得分:2)
令牌已过期。 Firebase SDK会针对格式错误的令牌和过期的令牌发出相同的错误:auth/invalid-custom-token
错误。
希望错误处理很快得到改善,同时开发人员可以通过使用jtw decode等客户端库并检查" exp"来检查令牌是否已过期。时间戳并与当前时间进行比较。