簡體   English   中英

Laravel 5.2 Auth :: login不持久記錄用戶

[英]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進行了所有必要的更改。

您缺少主要路線的中間件= auth。

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

基本上,您的主路由應該具有身份驗證中間件,但沒有其他路由,因為來賓用戶將需要能夠訪問登錄頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM