![](/img/trans.png)
[英]Socialite laravel 5.4 Facebook login error (ClientException in RequestException.php line 111)
[英]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.