Laravel Force User Logout
Many times we store data in user session. Now what if that session data is updated and we want to show updated data to user ? Because user is already logged in, new data won’t be visible for user. In this can we need to break user’s current session. So once user re-logins, he/she can see get new session data.
Here I have explain how we can break user’s session and force logout to any user.
Step 1: Add column “should_re_login” to users table with default 0 value.
Step 2: Add below code to middleware. This code will check if current user has “should_re_login” == 1, then it will make it 0, break the session and redirect user to login page.
$user = auth()->user();if($user->should_re_login == 1){ $user->should_re_login = 0; $user->save(); Auth::logout(); return redirect('/login');}
Step 3: Add below code to Auth/LoginController. This code will make “should_re_login” flag to 0 once user logins.
$user = auth()->user();$user->should_re_login = 0;$user->save();
That’s it. We made it. Now whenever you want to break any user’s session, just make “should_re_login” = 1 in users table for corresponding user.
In above process,
Step 2 will be used if user is already logged in and we want to break the session.
Step 3 will be used when user is already logged out and we want to break the session.
Thank me later.