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

Google OAuth2配置后仍出现redirect_uri_mismatch错误求助

解决Google OAuth2的redirect_uri_mismatch错误
  • 无需等待,配置立即生效
    Google Cloud控制台的重定向URI配置一般几分钟内就会同步,一小时仍报错肯定不是等待的问题,直接排查细节。

  • 严格核对URI的精确匹配
    Google对重定向URI的匹配是完全精确的,哪怕差一个字符、大小写、斜杠都会触发错误:

    • 对比控制台里的https://edit.elite80-001.ihousedev.com/oauth2callback和授权URL解码后的redirect_uri,确保完全一致(无多余空格、无末尾斜杠、域名大小写一致)。
    • 控制台里前三个不带/oauth2callback的URI确实没必要,建议删除,减少排查干扰。
  • 确认OAuth客户端类型与Client ID匹配

    • 确保你配置重定向URI的是「Web应用」类型的OAuth客户端,桌面应用、iOS/Android等其他类型的配置入口不同,不能混用。
    • 核对授权URL里的client_id和控制台对应客户端的ID完全一致,避免误用项目内其他客户端的ID。
  • 重点检查token交换阶段的redirect_uri
    很多人会在授权请求里用对了redirect_uri,但后续用授权码换access token时,错误使用了其他URI(比如你state参数里的https://webhosts.elite80-001.ihousedev.com/-/ControlGoogleAnalytics/oauth2callback)。
    必须保证:授权请求的redirect_uri和交换token时的redirect_uri完全相同,否则依然会触发匹配错误。

  • 清除缓存或用隐身模式测试
    浏览器缓存的旧会话、Cookie可能导致请求异常,用隐身模式重新发起授权请求,排除缓存干扰。

  • 修复代码拼接的潜在问题
    你的PHP代码拼接login_hint时,要确保账号名没有特殊字符(如&、=),必须做URL编码,否则会破坏授权URL结构,导致redirect_uri参数被篡改:

    // 正确做法:对login_hint的值做URL编码
    $encoded_login_hint = urlencode($google_user_account_name);
    $this->google_oauth_url = $createAuthUrl() . "&login_hint={$encoded_login_hint}";
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 03:23:29