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

生产环境使用Passport+Google SSO时出现Invalid_grant错误

Laravel Passport Google SSO 生产环境 invalid_grant 问题排查方案

针对你遇到的生产环境调用 POST https://www.googleapis.com/oauth2/v4/token 返回 invalid_grant 错误,结合开发/测试环境正常的情况,以下是几个高频排查方向:

  • 服务器时间同步异常
    Google OAuth的授权验证对时间精度要求很高,如果生产服务器系统时间与标准UTC时间偏差超过5分钟,会直接导致授权凭证失效。执行命令检查服务器时间:

    date -u
    

    若偏差过大,配置NTP服务同步时间即可。

  • 生产环境回调URL未正确配置
    即使你确认过Google OAuth客户端配置,也需要再次核对:Google控制台的「授权重定向URI」是否包含生产环境的完整回调地址(比如 https://your-domain.com/auth/google/callback),注意路径、域名大小写、HTTPS协议是否完全匹配,localhost之外的地址必须使用HTTPS。

  • 环境变量配置错误
    检查生产环境的 .env 文件中,GOOGLE_CLIENT_ID 和 GOOGLE_CLIENT_SECRET 是否与Google控制台的内容完全一致,避免复制时出现空格、换行或字符缺失。

  • 授权码重复/过期
    授权码是一次性使用的,若生产环境中存在重复提交授权码的逻辑,或者因网络延迟导致授权码在到达Google API时已过期(授权码有效期通常为10分钟),会触发该错误。可以在回调逻辑中添加日志,确认授权码的使用情况。

  • HTTPS配置不规范
    生产环境必须使用合法的SSL证书,若证书无效、未配置完整链,或者服务器强制跳转HTTPS时出现异常,可能导致Google返回的授权凭证验证失败。

  • 网络/代理限制
    生产服务器的防火墙、安全组或代理服务器可能拦截了与Google API的通信,导致请求参数不完整或响应被篡改。可以在服务器上直接执行curl命令测试:

    curl -X POST https://www.googleapis.com/oauth2/v4/token -d "client_id=YOUR_ID&client_secret=YOUR_SECRET&code=AUTH_CODE&grant_type=authorization_code&redirect_uri=YOUR_REDIRECT_URI"
    

    观察返回结果是否正常,排查网络层面的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 05:07:23