logger.warn("User.withDefaultPasswordEncoder() is considered unsafe for production and is only intended for sample applications."); PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder(); return builder().passwordEncoder(encoder::encode);
logger.warn("User.withDefaultPasswordEncoder() is considered unsafe for production and is only intended for sample applications."); PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder(); return builder().passwordEncoder(encoder::encode);
@Test public void withUsernameWhenPasswordAndPasswordEncoderThenEncodes() { UserDetails withEncodedPassword = User.withUsername("user") .passwordEncoder(p -> p + "encoded") .password("password") .roles("USER") .build(); assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded"); }
logger.warn("User.withDefaultPasswordEncoder() is considered unsafe for production and is only intended for sample applications."); PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder(); return builder().passwordEncoder(encoder::encode);
@Override @Bean public UserDetailsService userDetailsService() { InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager(); manager.createUser( User.withUsername("admin") .passwordEncoder(PasswordEncoderFactories.createDelegatingPasswordEncoder()::encode) .password("admin") .roles("ADMIN") .build()); manager.createUser( User.withUsername("user") .passwordEncoder(PasswordEncoderFactories.createDelegatingPasswordEncoder()::encode) .password("user") .roles("USER") .build()); return manager; }
@Bean public UserDetails userDetails() { return User.withUsername("guest") .passwordEncoder(PasswordEncoderFactories.createDelegatingPasswordEncoder()::encode) .password("guest") .roles("ADMIN") .build(); }
public static User.UserBuilder withUserDetails(UserDetails userDetails) { return User.withUserDetails(userDetails) .passwordEncoder(passwordEncoder()); }
public static User.UserBuilder builder() { return User.builder().passwordEncoder(passwordEncoder()); }
@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"); } }
@Test public void withUsernameWhenPasswordEncoderAndPasswordThenEncodes() { UserDetails withEncodedPassword = User.withUsername("user") .password("password") .passwordEncoder(p -> p + "encoded") .roles("USER") .build(); assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded"); }
@Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); UserDetails user = User.withUsername("user") .passwordEncoder(encoder::encode) .password("password") .roles("USER") .build(); InMemoryUserDetailsManager uds = new InMemoryUserDetailsManager(user); auth .userDetailsService(uds) .passwordEncoder(encoder); }
@Test public void withUserWhenDetailsPasswordEncoderThenEncodes() { UserDetails userDetails = User.withUsername("user").password("password").roles("USER").build(); UserDetails withEncodedPassword = User.withUserDetails(userDetails) .passwordEncoder(p -> p + "encoded") .build(); assertThat(withEncodedPassword.getPassword()).isEqualTo("passwordencoded"); }