Я использую логин с facebook в моем проекте laravel 5.3. Кажется, я работаю, когда получаю все данные, записанные в базу данных у пользователя facebook, но мой проект видит, что мое состояние auth не зарегистрировано. Также он не перенаправляет меня на панель управления, а отображает белую страницу с ссылкой обратного вызова. Зачем?laravel 5.3 логин с facebook
перенаправляет пользователя на страницу fagebook войти
public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}
Обработчик обратного вызова
public function handleProviderCallback()
{
try{
$socialUser = Socialite::driver('facebook')->user();
}
catch(\Exception $e) {
return redirect('/dashboard');
}
$user = User::where('facebook_id', $socialUser->getId())->first();
if(!$user){
User::create([
'facebook_id' => $socialUser->getId(),
'name' => $socialUser->getName(),
'email' => $socialUser->getEmail(),
]);
auth()->login($user);
return redirect()->to('/dashboard');
}
}
Мой AUTH() -> Логин, похоже, не на работу, а также перенаправление. В чем может быть проблема? Спасибо!
маршруты:
Route::get('dashboard', ['as' => 'dashboard', 'uses' => '[email protected]']);
Route::get('auth/facebook', 'Auth\[email protected]');
Route::get('auth/facebook/callback', 'Auth\[email protected]');
у меня есть идея, что проблема есть, вы можете подтвердить, если Пользователь :: create фактически создает пользователя в базе данных? –
да! и мой proj перенаправляет на логин facebook, я вхожу в систему, а затем меня перенаправляют на мой проект/auth/facebook/callback/token –
. Я поставил ответ ниже, ваш текущий код ничего не делает, если пользователь существует @Andrew T –