Search code examples
laravellaravel-5.3

All session expire after logout in multi Auth in Laravel 5.3


I create multi auth (user and admin) in Laravel 5.3, after click on logout, all session expire in Laravel 5.3.

I do not want all session expire after click on logout.

In Admin/Auth/LoginController:

public function logout(Request $request)
{
    $this->guard('admin')->logout();

    $request->session()->flush();

    $request->session()->regenerate();

    return redirect('/admin/login');
}

In Site/Auth/LoginController:

public function logout(Request $request)
{
    $this->guard('user')->logout();

    $request->session()->flush();

    $request->session()->regenerate();

    return redirect('/login');
}

How do I correct?


Solution

  • You would need to access the guard that pertains to the auth you wish to log out, for instance if you had Commercial and Realestate users, with associated drivers, and you wished to log someone out of their Commercial account, you could do:

    auth()->guard('commercial')->logout();
    

    For example.