2016-02-10 4 views
2

У меня есть система аутентификации, которая также имеет социальный вход с использованием Socialite.Laravel 5.2 Auth :: login not perserved зарегистрированный пользователь

Проблема заключается в том, что я использую Auth::login() для входа пользователя в систему при успешной аутентификации из социальных сетей, сеанс не сохраняется после перенаправления.

Хотя я использую web промежуточного программного

вот мой код в routes.php

Route::group(['namespace' => 'Frontend', 'middleware' => 'web'], function() { 
    Route::get('/', '[email protected]'); 
    Route::get('login/{provider?}', '[email protected]'); 
    Route::post('login', '[email protected]'); 
    Route::get('login/callback/google', '[email protected]'); 
    Route::get('login/callback/facebook', '[email protected]');  
}); 

и когда пользователь успешно прошел проверку подлинности в Facebook, например, я использую это в моем контроллере

Auth::login($user); 
return redirect()->to('/'); 

, но после перенаправления он дает мне null

Я также переместил User.php в app/Models/User.php и внесла все необходимые изменения в config/auth.php.

+0

Что вы используете в качестве драйвера сессии? (проверьте свой '.env') – phaberest

+0

с помощью файла драйвера –

+0

Вы создали' comper dump-autoload' после создания новой папки/пространства имен? Правильно ли вы ссылаетесь на пространство имен? Вы проверили свой 'storage/logs/laravel.log'? – phaberest

ответ

0

Вам не хватает промежуточного программного обеспечения = auth для вашего основного маршрута.

Route::group(['namespace' => 'Frontend', 'middleware' => ['web','auth'], function() { 
    Route::get('/', '[email protected]');  
}); 

В основном ваш основной маршрут должен иметь аутентификации промежуточное программное обеспечение, но не другие маршруты, что и гостевым пользователям нужно будет иметь возможность доступа на страницу входа.

Смежные вопросы