1)创建TokenEnhancerBean
2)在CustomAuthorizationServerConfig中注入TokenEnhancer
3)重写configure(AuthorizationServerEndpointsConfigurer endpoints)方法
4)自定义CusJwtTokenEnhancer
5)spring oauth并不会去解析我们自定义的additionalInfo,而是只会解析他标准中的字段,如果想要拿到自定义的信息,就要引入jwt
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
@GetMapping("/me")
public Object getCurrentUser(Authentication user,HttpServletRequest request) throws Exception {
String token = StringUtils.substringAfter(request.getHeader("Authorization"), "bearer ");
Claims claims = Jwts.parser().setSigningKey("cus".getBytes("UTF-8"))
.parseClaimsJws(token).getBody();
String company = (String) claims.get("company");
log.info("---------->"+company);
return user;
}
原文:https://www.cnblogs.com/qq-7895/p/11840085.html