需要使用 jwt 转换器
新增
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
@Configuration
public class JwtTokenConfiguration {
//使用jwt 转换器,将普通的token 转换成 jwt
@Bean
public JwtAccessTokenConverter JwtAccessTokenConverter(){
JwtAccessTokenConverter jwtAccessTokenConverter = new JwtAccessTokenConverter();
return jwtAccessTokenConverter;
}
}
再在 加了@EnableAuthorizationServer 类中 引入一下 jwt 转换器即可!
@Autowired
private JwtAccessTokenConverter jwtAccessTokenConverter;
@Autowired
private JwtAccessTokenConverter jwtAccessTokenConverter;
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
//password 认证模式需要
endpoints.authenticationManager(authenticationManager);
//新增代码--将token 转换成jwt
endpoints.accessTokenConverter(jwtAccessTokenConverter);
}
postman 请求:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MzY1Njg3ODMsInVzZXJfbmFtZSI6ImFkbWluIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BRE1JTiJdLCJqdGkiOiIwMTE3NTM5Ni02OWY2LTRlZjAtYWUyMC00NTAzZjcyMDgyODAiLCJjbGllbnRfaWQiOiJjbGllbnQiLCJzY29wZSI6WyJhcHAiXX0.BeY7wiFyoPa802-KZAucpxBcXHH2ousDMEFmmIMYQxw",
"token_type": "bearer",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbImFwcCJdLCJhdGkiOiIwMTE3NTM5Ni02OWY2LTRlZjAtYWUyMC00NTAzZjcyMDgyODAiLCJleHAiOjE2MzkxMTc1ODMsImF1dGhvcml0aWVzIjpbIlJPTEVfQURNSU4iXSwianRpIjoiYzcyOTk0YWQtMDA3Yi00Yzk5LWIyNTUtNGYzYzM5MjAxNTJkIiwiY2xpZW50X2lkIjoiY2xpZW50In0.kfSdFX8auONzkqterkbQkoGO1fL7ybw7uX8G3iDKW3k",
"expires_in": 43198,
"scope": "app",
"jti": "01175396-69f6-4ef0-ae20-4503f7208280"
}