Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,19 @@ public void init(H http) throws Exception {
validateInput();
String key = getKey();
RememberMeServices rememberMeServices = getRememberMeServices(http, key);
if (rememberMeServices instanceof AbstractRememberMeServices) {
/*
* To avoid CookieTheftException in PersistentTokenBasedRememberMeServices.processAutoLoginCookie(...),
* override the key or config it twice like below:
*
* <code>
* http.rememberMe()
* .key(key)
* .rememberMeServices(new PersistentTokenBasedRememberMeServices(key, userDetailsService, tokenRepository));
* </code>
*/
key = ((AbstractRememberMeServices) rememberMeServices).getKey();
}
http.setSharedObject(RememberMeServices.class, rememberMeServices);
LogoutConfigurer<H> logoutConfigurer = http.getConfigurer(LogoutConfigurer.class);
if (logoutConfigurer != null && this.logoutHandler != null) {
Expand Down Expand Up @@ -441,4 +454,4 @@ private String getKey() {
}
return this.key;
}
}
}