Laravel Force User Logout

Mohit Mehta
1 min readSep 20, 2020

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.

--

--