在生产服务器上使用 Passport 和 Google SSO 时出现“Invalid_grant”错误

问题描述 投票:0回答:1

我在尝试使用 Passport 通过 Laravel 实现 Google SSO 时遇到了一个具有挑战性的问题。在开发环境和开发服务器上一切正常,但是当我在生产端尝试时,遇到以下错误:

Client error: `POST https://www.googleapis.com/oauth2/v4/token` resulted in a `400 Bad Request` response:
{
  "error": "invalid_grant",
  "error_description": "Bad Request"
}

我确信我的代码是正确的,因为它在开发环境中运行顺利。有没有人遇到过类似的问题或者可以提供有关此错误的可能原因的见解?

一些附加信息:

  • 我正在使用 Passport 进行身份验证。
  • 该问题仅在生产环境中出现,而在开发环境中一切正常。
  • 我已经检查了我的 Google OAuth 客户端的配置,一切似乎都是正确的。

我非常感谢您提供的任何帮助和时间。非常感谢!

laravel rest single-sign-on laravel-passport laravel-socialite
1个回答
0
投票

您的实时环境还需要一个 Google 项目,请参阅 https://www.codexworld.com/login-with-google-api-using-php/

您还需要设置适当的凭据,例如客户端 ID 和密钥。如果这是为您的开发环境正确设置的,但不是为您的实时环境设置的,那么这已经是一个主要问题了。

如果您确保所有内容均已正确设置,那么您还需要比较从开发环境发送的请求和从实时环境发送的请求,看看请求和参数是否存在差异。响应标头和/或有效负载。

© www.soinside.com 2019 - 2024. All rights reserved.