User.UserBuilder only encodes once
Fixes gh-4794
This commit is contained in:
@@ -23,6 +23,7 @@ import java.io.ObjectOutputStream;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
@@ -210,4 +211,17 @@ public class UserTests {
|
||||
|
||||
assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void withUsernameWhenPasswordAndPasswordEncoderTwiceThenEncodesOnce() {
|
||||
Function<String, String> encoder = p -> p + "encoded";
|
||||
UserDetails withEncodedPassword = User.withUsername("user")
|
||||
.passwordEncoder(encoder)
|
||||
.password("password")
|
||||
.passwordEncoder(encoder)
|
||||
.roles("USER")
|
||||
.build();
|
||||
|
||||
assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user