-
Notifications
You must be signed in to change notification settings - Fork 6k
SEC-2566: Support password storage upgrades #2778
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Milestone
Comments
9 tasks
rwinch
added a commit
that referenced
this issue
Jul 16, 2018
rwinch
added a commit
that referenced
this issue
Jul 16, 2018
rwinch
added a commit
that referenced
this issue
Jul 16, 2018
rwinch
added a commit
that referenced
this issue
Jul 16, 2018
rwinch
added a commit
that referenced
this issue
Jul 16, 2018
rwinch
added a commit
that referenced
this issue
Jul 16, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Rob Winch (Migrated from SEC-2566) said:
After verifying a user's password successfully check to see if the format the password was stored in is up to date. If not, upgrade the storage of the password.
A developer can ensure that passwords that need to be upgraded are now upgraded on authentication success by exposing a UserDetailsPasswordService as a Bean.
The changes for this ticket include:
InMemoryUserDetailsManager
andMapReactiveUserDetailsService
now implement these interfaces.DaoAuthenticationProvider
andUserDetailsRepositoryReactiveAuthenticationManager
can have aUserDetailsPasswordService
orReactiveUserDetailsPasswordService
injected which on authentication success will trigger the password to be upgraded if thePasswordEncoder.upgradeEncoding
returnstrue
.NOTE:
JdbcUserDetailsManager
andLdapUserDetailsManager
do not implementUserDetailsPasswordService
because they would then try to upgrade the passwords automatically which would potentially cause user's production code to break. For example, encoding the password is likely to cause the password to be too large to fit into the default schema. Another example is if the user has custom queries for the user and do not plan on using it for updates, they may not have set the update sql which means updating would break log in (which might try to log in).The text was updated successfully, but these errors were encountered: