通过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);
    }
}

效果如下:

 

史上最简单方式来改变OAuth2 生成access_token返回值

相关文章:

  • 2021-12-27
  • 2021-07-19
  • 2021-07-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
  • 2022-12-23
相关资源
相似解决方案