[6.x] Add the option to not cycle remember me token #30839
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
By default, Laravel recycles the remember_token in the users table when logout is called on the guard. This helps with security in a lot of cases and should stay in place by as the default option.
The issue myself and others have been having is the following:
This isn't a bug, this is intended functionality, but I believe we should offer users the option to override the default functionality and then implement their own "logout from all devices" functionality. We could go crazy and try and introduce some sort of "tokens" table, but I think that overcomplicates things. The simplest way to achieve this is by passing a boolean parameter to the logout method. We do this from the LoginController::logout() method. The developer could then offer some sort of "logout from all devices" option too. Any "Netflix / Facebook-like" functionality (where you can see each device that's logged in) should be left to developers / external packages.
This first came up nearly 2 years ago and there was interest: laravel/ideas#971
I'd love some feedback on this and to hear what everyone thinks.