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

Google Sign In无法工作:因unknown_reason未返回认证响应

Google One Tap登录仅特定账号在Chrome中失败问题排查

问题描述

我们的React应用采用新版Google Sign In for Web做认证,近期我的账号在One Tap提示回调中出现登录失败问题:

  • 仅在Google Chrome(版本112.0.5615.137、112.0.5615.59)中出现
  • 仅针对我的Google账号,其他浏览器登录正常;不同Chrome实例(全新安装、旧版本)及环境(本地、QA、生产)均复现该问题
  • 其他用户使用Chrome登录无异常,且应用代码数月未做修改

错误信息

控制台输出错误:

[GSI_LOGGER]: Check credential status returns invalid response.
GET https://accounts.google.com/gsi/status?client_id=<googleappclientid>&as=<userid> net::ERR_BLOCKED_BY_CLIENT

错误触发时PromptMomentNotification的状态:

res.isNotDisplayed() // true
res.getNotDisplayedReason() // "unknown_reason"

此时返回的凭证响应为空,无法在压缩脚本中深度调试。

集成代码示例

GSI初始化

window.google.accounts.id.initialize({
  client_id: GOOGLE_CLIENT_ID,
  auto_select: true,
  callback: async ({ credential: jwtToken }: CredentialResponse) => {
    // 处理jwtToken逻辑
  }),
});

One Tap按钮渲染

window.google.accounts.id.renderButton(
  signInButtonParentRef.current,
  { type: "standard", theme: "filled_blue" },
  () => {
    prompt();
  }
);

Prompt回调

const prompt = () => {
    window.google?.accounts.id.prompt((res: PromptMomentNotification) => {
      if (res.isNotDisplayed()) { 
          // 处理响应,展示错误
      }
    });
}

已执行的排查步骤

  • 重启Chrome及电脑、清除Cookie、本地存储、浏览记录,卸载重装Chrome
  • 在另一台电脑/旧版本Chrome测试,问题复现
  • 检查Google账号是否存在异常
  • 检查Google客户端的授权JavaScript源设置
  • 移除应用在Google Sign In的访问权限(认证时会自动恢复)
  • 在Safari、Firefox等其他浏览器测试正常,其他用户用Chrome登录无异常

建议排查方向

  1. Chrome隐私/扩展拦截:尝试用Chrome隐身模式测试,或关闭账号同步后重装Chrome(避免同步回拦截设置);检查是否有广告拦截、隐私类扩展自动拦截了Google账号相关请求。
  2. Google账号安全设置:检查账号安全中心的第三方应用权限,确认无异常限制;若开启了高级安全保护,可临时关闭后测试。
  3. Chrome网络设置:重置Chrome网络设置,检查是否有代理、VPN或hosts文件修改导致请求被拦截。
  4. 账号设备会话重置:在Google账号安全中心移除所有设备的登录会话,重新登录Chrome及Google账号后测试。
  5. Google服务状态验证:确认账号未被限制使用Google登录相关服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 04:50:15