史上最简单方式来改变OAuth2 生成access_token返回值
通过AOP切面来改变OAuth2 生成access_token返回值格式 @Component @Aspect public class AuthTokenAspect { /// @Around注解 改变controller返回值的 @Around("execution(* org.springframework.security.oauth2.provider.endpoint.TokenEndpoint.postAccessToken(..))") public Object handleControllerMethod(ProceedingJoinPoint pjp) throws Throwable { // 放行 Response response = new Response(); Object proceed = pjp.proceed(); if (proceed != null) { ResponseEntity<OAuth2AccessToken> responseEntity = (ResponseEntity<OAuth2AccessToken>) proceed; OAuth2AccessToken body = responseEntity.getBody(); // 返回token值 AuthTokenDto accessToken = new AuthTokenDto(); accessToken.setToken(body.getValue()); //accessToken.setExpiresIn(body.getExpiresIn()); //accessToken.setRefreshToken(body.getRefreshToken().getValue()); return ResponseEntity.status(200).body(accessToken); } return ResponseEntity.status(200).body(response); } }
效果如下: