本文记录一下使用SpringSecurityOAuth2配置自定义Token实现OAuth2授权的步骤
1、相关知识
2、构建项目
本文使用的springboot版本是2.0.4.RELEASE,不同版本可能会有所区别。下面是主要的配置文件和类:
1)pom依赖
org.springframework.boot
spring-boot-starter-security
org.springframework.security.oauth.boot
spring-security-oauth2-autoconfigure
2.1.3.RELEASE
2)application.properties
#不需要,暂时写死在代码中,重构时移植到此处即可
3)主配置类
@EnableWebSecurity
@Configurationpublic class WebSecurityConfig extendsWebSecurityConfigurerAdapter{
@Overrideprotected void configure(HttpSecurity http) throwsException {
http.httpBasic().and().csrf().disable();
}
@Bean("authenticationManager")public AuthenticationManager authenticationManagerBean() throwsException {return super.authenticationManagerBean();
}
@BeanpublicPasswordEncoder passwordEncoder() {return newBCryptPasswordEncoder();
}
}
4)用户认证类
@Component
public class MyUserDetailsService implementsUserDetailsService{
@AutowiredprivatePasswordEncoder passwordEncoder;
@Overridepublic UserDetails loadUserByUsername(String username) throwsUsernameNotFoundException {
System.out.println("登录用户名:"+username);
String password= passwordEncode