Laravel 社交名流 400 错误请求响应
Laravel socialite 400 Bad Request response
我已经创建了一个 laravel socialte 设置。它之前工作得很好,现在它显示错误(如下)。
1)我已经改变了client_secret
2)创建了一个新的oauth凭据
仍然无法正常工作
public function redirectToGoogle()
{
return Socialite::driver('google')->redirect();
}
public function handleGoogleCallback()
{
$user = Socialite::driver('google')->stateless()->user();
$user->getId(); // 1472352
$user->getNickname(); // "overtrue"
$name= $user->getName(); // "安正超"
$emailid= $user->getEmail();
$pic= $user->getAvatar(); // "anzhengchao@gmail.com"
return->redirect('welcome');
}
我已经用 client_secret 和客户端 ID 创建了 env 文件
"""
Client error: `POST https://accounts.google.com/o/oauth2/token` resulted in a `400 Bad Request` response:\n
{\n
"error" : "invalid_grant",\n
"error_description" : "Code was already redeemed."\n
}\n
"""
当Googlereturn验证码code
到您的Socialite时,只能用来兑换访问令牌一次。多次执行会导致错误 Code was already redeemed
.
流程应该是:
- 用户点击您网站上的登录按钮
- 您将用户重定向到 Google 并且 Google 要求用户 login/grant 您访问
- 如果成功,Google 将使用 one-time-use 身份验证代码重定向回您
?code=.....
- Socialite 使用
?code
并将其与 Google 交换以获得用户的 访问令牌 。每个流只能执行一次。
- 您现在可以使用在第 4 步中请求的访问令牌请求用户详细信息。
我已经创建了一个 laravel socialte 设置。它之前工作得很好,现在它显示错误(如下)。 1)我已经改变了client_secret 2)创建了一个新的oauth凭据 仍然无法正常工作
public function redirectToGoogle()
{
return Socialite::driver('google')->redirect();
}
public function handleGoogleCallback()
{
$user = Socialite::driver('google')->stateless()->user();
$user->getId(); // 1472352
$user->getNickname(); // "overtrue"
$name= $user->getName(); // "安正超"
$emailid= $user->getEmail();
$pic= $user->getAvatar(); // "anzhengchao@gmail.com"
return->redirect('welcome');
}
我已经用 client_secret 和客户端 ID 创建了 env 文件
"""
Client error: `POST https://accounts.google.com/o/oauth2/token` resulted in a `400 Bad Request` response:\n
{\n
"error" : "invalid_grant",\n
"error_description" : "Code was already redeemed."\n
}\n
"""
当Googlereturn验证码code
到您的Socialite时,只能用来兑换访问令牌一次。多次执行会导致错误 Code was already redeemed
.
流程应该是:
- 用户点击您网站上的登录按钮
- 您将用户重定向到 Google 并且 Google 要求用户 login/grant 您访问
- 如果成功,Google 将使用 one-time-use 身份验证代码重定向回您
?code=.....
- Socialite 使用
?code
并将其与 Google 交换以获得用户的 访问令牌 。每个流只能执行一次。 - 您现在可以使用在第 4 步中请求的访问令牌请求用户详细信息。