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());
}
}

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐