废话不说直接进入主题(假设您已对spring security、oauth2、jwt技术的了解,不懂的自行搜索了解)
依赖版本
- springboot 2.1.5.RELEASE
- spring-security-oauth2 2.3.5.RELEASE
- jjwt 0.9.1
新增JWTokenConfig
@Configuration
public class JWTokenConfig {
@Bean
public TokenStore jwtTokenStore() {
return new JwtTokenStore(jwtAccessTokenConverter());
}
@Bean
public JwtAccessTokenConverter jwtAccessTokenConverter() {
JwtAccessTokenConverter accessTokenConverter = new JwtAccessTokenConverter();
accessTokenConverter.setSigningKey("entfrm"); //对称加密key
return accessTokenConverter;
}
@Bean
public TokenEnhancer tokenEnhancer() {
return new JWTTokenEnhancer(); // token增强
}
}
JwtAccessTokenConverter:TokenEnhancer的子类,帮助程序在JWT编码的令牌值和OAuth身份验证信息之间进行转换。
此处定义token 签名的方式,采用对称加密方式。
增加JwtTokenEnhancer类
public class JWTTokenEnhancer implements TokenEnhancer {
@Override
public OAuth2AccessToken enhance(OAuth2AccessToken oAuth2AccessToken, OAuth2Authentication oAuth2Authentication) {
Map<String, Object> info = new HashMap<>()

本文详述了如何将SpringBoot与Spring Security OAuth2结合,并使用JWT进行认证授权。通过介绍依赖版本、配置JWTTokenConfig、JwtTokenEnhancer、AuthorizationServerConfig等步骤,展示了完整的设置过程。启动项目后,可以看到返回的JWT Token中包含了自定义的扩展信息。

1255

被折叠的 条评论
为什么被折叠?



