NOT calling setPlainPassword() as this clears the password property #1
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.
eraseCredentials() is called after login, just to make sure you don't store any
plain text passwords on the User object and put it into the session or something.
However, by calling setPlainPassword(), not only was the plainPassword cleared,
the encoded
password
property was also cleared. This meant that the Userobject was serialized into the session with no password. On the next request,
when the User was refreshed, the refreshed User object and the serialized User
object appeared to have different passwords, suggesting that the user had changed
his password and remotely and our session should be terminated.
I hope this helps - this is a very common problem to hit - your other setup looks very cool :).