Я внедряю socialite в свое приложение, и у меня есть логин на Facebook, который работает правильно локально.Тем не менее, при попытке кода на производстве приложения ошибки при входе.
Вот мой код обратного вызова
public function show()
{
return Socialite::driver('facebook')->redirect();
}
public function create()
{
if (!Auth()->user()) {
try {
$driver = Socialite::driver('facebook')->fields([
'name',
'first_name',
'last_name',
'email',
'gender',
'verified'
]);
$user = $driver->user();
$this->findOrCreateUser($user);
} catch (\Exception $e) {
log::error('facebook failed ' . $e);
return redirect()->route('homepage');
}
}
return Redirect::to(env('APP_URL'));
}
public function findOrCreateUser(\Laravel\Socialite\Contracts\User $user)
{
try {
$authUser = User::where('provider_id', $user->id)->first();
if ($authUser) {
Auth()->loginUsingId($authUser->id);
} else {
$usercreate = new User;
$usercreate->firstName = $user->getName();
$usercreate->email = $user->getEmail();
$usercreate->provider ='facebook';
$usercreate->provider_id = $user->getId();
$usercreate->avatar_url = 'update';
$usercreate->cover_url = 'update';
$usercreate->save();
$finaluser = User::where('provider_id', '=', $user->id)->first();
Auth::loginUsingId($finaluser->id);
}
} catch (\Exception $e) {
log::error('facebook failed ' . $e);
return redirect('auth/facebook');
}
}
И вот ошибка, которую я получаю при попытке нажать продолжить наСтраница Facebook при входе в систему. Ошибка обнаружена, а затем перенаправляет меня на домашнюю страницу, но ни один пользователь не создан или не вошел в систему.
facebook failed GuzzleHttp\Exception\ClientException: Client error: `POST https://graph.facebook.com/v3.0/oauth/access_token` resulted in a `400 Bad Request` response:
{"error":{"message":"Error validating client secret.","type":"OAuthException","code":1,"fbtrace_id":"E4+c6Prdnz+"}}
in /home/forge/www.fishamax.co.uk/releases/20181219133426/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113