我正在尝试让 JWT 通过 Firebase 管理员作为测试套件的用户在 Firebase 模拟器中进行身份验证。模拟器正在运行 firebase 所称的 << demo >> 项目,因此它不会到达真正的端点。
目前我尝试创建自定义令牌
const user = await admin.auth().createUser({ uid: randomUUID() });
const jwt = await admin.auth().createCustomToken(user.uid);
但我明白:
<< Firebase ID token has incorrect "aud" (audience) claim. Expected "demo-test" but got "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit" >>
我还尝试通过 https://jwt.io 创建 jwt,因为 firebase 文档明确指出 设置环境变量后,Firebase Admin SDK 将接受未签名的 ID 令牌:
但是如果我得到:
<< Firebase ID token has invalid signature. >>
也面临着同样的问题。使用初始化到模拟器的管理 sdk 创建令牌无法通过受众验证步骤。