Laravel社交名流400错误请求响应

Laravel社交名流400错误请求响应,laravel,laravel-socialite,Laravel,Laravel Socialite,我已经创建了一个laravel socialte设置。它以前工作正常,现在显示错误(如下)。 1) 我已经改变了你的秘密 2) 创建了一个新的oauth凭据 仍然不工作 public function redirectToGoogle() { return Socialite::driver('google')->redirect(); } public function handleGoogleCall

我已经创建了一个laravel socialte设置。它以前工作正常,现在显示错误(如下)。 1) 我已经改变了你的秘密 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 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
    """
我已经创建了带有客户端密码和客户端id的env文件

   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 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
    """

当谷歌将身份验证码返回给你的社交名流时,它只能用来交换访问令牌一次。多次执行将导致错误
代码已被赎回

流程应为:

  • 用户单击网站上的登录按钮
  • 您将用户重定向到Google,Google要求用户登录/授予您访问权限
  • 如果成功,Google会使用一个一次性使用身份验证代码将其重定向回您
  • 社交名流使用
    ?code
    并与谷歌交换,以获得用户的访问令牌。每个流只能执行一次
  • 现在,您可以使用步骤4中请求的访问令牌请求用户详细信息
  • 阅读类似的答案: