我有一个非常奇怪的问题 .
我在我的网站上使用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 .
socialcontroller上的回调函数:
$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;
}
任何帮助表示赞赏!
1 回答
在config / session.php文件中有以下行:
注意,它可以是
'localhost'
然后只需清除你的缓存:
php artisan cache:clear
然后将您的请求重新发送到Facebook .