【发布时间】:2018-06-03 08:08:19
【问题描述】:
我遇到了一个非常奇怪的问题。
我在我的网站上使用 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...)
我目前正在使用最新版本的社交名流。
socialcontroller 上的回调函数:
$user = $service->createOrGetUser(Socialite::driver('facebook')->user());
auth()->login($user);
return redirect()->to('/home');
社交账户服务:
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;
}
感谢任何帮助!
【问题讨论】:
-
如果您的网速不稳定,最终发送了两个请求怎么办?如果你的服务器有问题怎么办?你有没有在另一台服务器上用同样的软件测试过代码?
-
同样的问题,在两台不同的服务器上测试过
标签: php facebook laravel laravel-socialite