Laravel 5.2 身份验证::登录不持久登录用户


Laravel 5.2 Auth::login not persisting logged user

我有一个身份验证系统,该系统也使用Socialite进行社交登录。

问题是当我在从社交媒体成功进行身份验证后使用 Auth::login() 登录用户时,重定向后会话不会持续存在。

虽然我正在使用web中间件

这是我的代码routes.php

Route::group(['namespace' => 'Frontend', 'middleware' => 'web'], function () {
    Route::get('/', 'PagesController@index');
    Route::get('login/{provider?}', 'AuthController@getLogin');
    Route::post('login', 'AuthController@postLogin');
    Route::get('login/callback/google', 'AuthController@getGoogleCallback');
    Route::get('login/callback/facebook', 'AuthController@getFacebookCallback');    
});

例如,当用户在Facebook中成功进行身份验证时,我会在我的控制器中使用它

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

但是重定向后它给了我null

我还User.php搬到了app/Models/User.php,并在config/auth.php中进行了所有必要的更改。

您缺少主路由的中间件 = 身份验证。

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

基本上,您的主路由应该具有身份验证中间件,但没有其他路由,因为来宾用户需要能够访问登录页面。