Firebase模拟器启动后调用auth.verifyIdToken提示令牌已撤销的问题咨询
Firebase模拟器ID令牌被撤销问题解决
这不是bug,是模拟器的正常设计逻辑:每次启动Firebase模拟器时,Auth服务会生成全新的签名密钥。你种子数据里的令牌是旧模拟器实例生成的,新实例无法识别其签名,就会判定为“已撤销”。
不需要每次重新连接模拟器,但要做这些调整:
- 启动模拟器后,重新生成测试用ID令牌:通过新启动的模拟器Auth服务登录种子用户,获取新令牌,别复用之前保存的旧令牌。
- 调整种子数据结构:只存储用户基础信息(UID、邮箱、自定义声明等),不要存令牌。每次启动模拟器后,用代码自动调用模拟器Auth接口生成新令牌,避免手动维护过期令牌。
- 临时调试方案:如果只是本地测试,可将
auth.verifyIdToken(token, true)的第二个参数改为false,跳过撤销检查。但生产环境必须保留true,保证安全。
额外说明:模拟器每次启动换密钥是为了隔离不同测试环境,防止跨实例令牌干扰,属于正常的安全机制。
内容的提问来源于stack exchange,提问作者PepeW
相关产品推荐
相关产品推荐

