繁体   English   中英

结合使用laravel 5.4和Socialite ClientException Facebook错误“此授权码已被使用”

[英]Using laravel 5.4 with Socialite ClientException Facebook error “This authorization code has been used”

我有一个很奇怪的问题。

我在我的网站上使用Facebook登录。 我不会随机失败并且可以随机工作...

有时,当我单击用Facebook登录时,它可以工作并登录/创建帐户。 然后我注销并再次登录,但失败。 当我继续尝试登录时,它将在两次错误之间再次随机登录。

错误:

(1/1) ClientException
Client error: `POST https://graph.facebook.com/v2.10/oauth/access_token` resulted in a `400 Bad Request` response:
{"error":{"message":"This authorization code has been used.","type":"OAuthException","code":100,"fbtrace_id":"B1P9nm3GRb (truncated...)

在此处输入图片说明

我目前正在使用最新版本的Socialite。

社交控制器上的回调函数:

$user = $service->createOrGetUser(Socialite::driver('facebook')->user());

auth()->login($user);


return redirect()->to('/home');

SocialAccountService:

public function createOrGetUser(ProviderUser $providerUser)
{

    $account = SocialAccount::where('provider_user_id', $providerUser->getId())->first();

    if ($account) {

        return $account->user;

    } else {

        $user = User::where('facebook', $providerUser->getId())->first();

        if (!$user) {

            $password = Hash::make($providerUser->getId());
            $user = User::create([
                'username' => $providerUser->getName(),
                'email' => $providerUser->getEmail(),
                'avatar' => $providerUser->getAvatar(),
                'facebook' => $providerUser->getId(),
                'password'=> $password,
                'level' => 0
            ]);

            $account = SocialAccount::create([
                'user_id' => $user->id,
                'provider_user_id' => $providerUser->getId(),
                'provider' => 'facebook'
            ]);

        }


        return $user;

    }

任何帮助表示赞赏!

在您的config / session.php文件中,有以下几行:

 `'domain' => env('SESSION_DOMAIN', 'your-domain-here'),`

注意,它可以是'localhost'

然后只需清除您的缓存即可: php artisan cache:clear

然后将您的请求重新发送到Facebook。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM