Spring Boot Security中Encoded password does not look like BCrypt异常解决办法
一. 异常描述
在SpringSecurity升级到新版本(SpringBoot2.x)后,因为默认把之前的明文密码方式给去掉了,所以在对授权客户端的密码进行加密时可能就会出现Encoded password does not look like BCrypt
异常问题.
一般我们的授权客户端账号密码不需要加密,所以在这里实现security.passwordEncoder(NoOpPasswordEncoder.getInstance())
方法,告诉security客户端密码不需要加密.
@Configuration
@EnableAuthorizationServer
public class OauthServerConfig extends AuthorizationServerConfigurerAdapter {
@Override
public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
security.tokenKeyAccess("permitAll()");
security.checkTokenAccess("isAuthenticated()");
security.allowFormAuthenticationForClients();
//解决Encoded password does not look like BCrypt报错
//因为springsecurity在最新版本升级后,默认把之前的明文密码方式给去掉了
//https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released#password-storage-updated
security.passwordEncoder(NoOpPasswordEncoder.getInstance());
}
}