You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用refresh_token获取新id_token后Firebase Auth报错:id_token非谷歌签发

用refresh_token获取的Google id_token验证失败:提示“id token并非由Google签发”

我按照Stack Overflow上的方法,用refresh_token获取新的id_token,试了kgaidis和yevgen提出的两种实现方式,都成功拿到了新的id_token,但在使用该token时遇到了如下错误:
IdP响应中的id_token无效:id token并非由Google签发。

以下是几个排查方向:

  • 解码检查issuer字段:把拿到的id_token用JWT解码工具解开,查看iss字段的值是否为https://accounts.google.com或accounts.google.com。如果不是,说明这个token根本不是Google签发的,大概率是请求刷新的端点错了。
  • 确认refresh_token的合法性:确保你用来刷新的refresh_token是从Google OAuth2授权流程中获取的,别拿其他身份提供商的refresh_token来请求Google的token。
  • 核对刷新请求的端点:Google的token刷新端点是https://oauth2.googleapis.com/token,检查你的请求是不是发往这个地址,别搞错成其他平台的接口。
  • 验证token签名:用Google提供的公钥验证id_token的签名,确认token没有被篡改或者伪造。
  • 检查客户端信息一致性:确认刷新请求里用的客户端ID和密钥,和当初获取refresh_token时用的是同一个(都是Google Cloud Console里创建的),别混用其他平台的客户端配置。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:15:35