Я пытаюсь настроить «Войти через Facebook» с помощью laravel socialite.Когда я пытаюсь войти в систему, он получает успешный обратный вызов от Facebook, я сохраняю данные, извлеченные в базу данных, и пытаюсь перенаправить на домашнюю страницу.При этом я перенаправлен обратно на страницу входа и никогда не попадаю на домашнюю страницу.
При отладке ошибки я обнаружил, что мой Auth :: login ($ user) не работает должным образом.
Вот код:
AuthController.php
use App\Http\Controllers\Controller;
use Laravel\Socialite\Two\InvalidStateException;
use Auth;
use Socialite;
use App\User;
public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
// dd($user);
$authUser = $this->findOrCreateUser($user, $provider);
// dd($authUser);
if(Auth::login($authUser, true)){ // here is the error
return redirect($this->redirectTo);
}
else{
return 'Login not done'; //this prints out to the screen
}
}
public function findOrCreateUser($user, $provider)
{
$authUser = User::where('id', $user->id)->first();
if ($authUser) {
return $authUser;
}
return User::create([
'name' => $user->name,
'email' => $user->email,
'avatar' => $user->avatar,
'password' => bcrypt('password'),
'provider' => $provider,
'id' => $user->id
]);
}
Дайте мне знать, что я делаю неправильно.
Это то, что яполучаю пока dd ($ authUser)