From 3955206191fdeb3a0609bd2170ed97f3f283d860 Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 월, 10 1월 2022 11:47:35 +0900 Subject: [PATCH] - api 관련 Exception 수정 - swagger 추가 --- src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java index a1a0bf9..78221fc 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java @@ -7,9 +7,11 @@ import kr.wisestone.owl.constant.MsgConstants; import kr.wisestone.owl.domain.ApiToken; import kr.wisestone.owl.domain.User; +import kr.wisestone.owl.exception.ApiAuthException; import kr.wisestone.owl.exception.OwlRuntimeException; import kr.wisestone.owl.repository.ApiTokenRepository; import kr.wisestone.owl.service.ApiTokenService; +import kr.wisestone.owl.service.UserService; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.util.DateUtil; import kr.wisestone.owl.util.WebAppUtil; @@ -37,7 +39,6 @@ @Autowired private ApiTokenRepository apiTokenRepository; - @Autowired protected WebAppUtil webAppUtil; @@ -95,7 +96,12 @@ ObjectMapper objectMapper = new ObjectMapper(); //諛섑솚 ���엯�� LinkedHashMap �씠�떎. �씠瑜� User ���엯�쑝濡� 蹂��솚�븯湲� �쐞�빐 ObjectMapper �궗�슜 - return objectMapper.convertValue(claims.getBody().get(DATA_KEY), UserVo.class); + try { + return objectMapper.convertValue(claims.getBody().get(DATA_KEY), UserVo.class); + } catch (Exception ex) { + log.debug(ex.getMessage()); + } + return null; } private Jws<Claims> decryption(String jwt) { @@ -119,25 +125,50 @@ @Override public ApiTokenVo find() { User user = this.webAppUtil.getLoginUserObject(); - List<ApiToken> apiTokens = this.apiTokenRepository.findByUserId(user.getId()); - if (apiTokens != null && apiTokens.size() >0 ) { - return ConvertUtil.copyProperties(apiTokens.get(0), ApiTokenVo.class); + return this.find(user.getId()); + } + + private ApiTokenVo find(Long userId) { + if (userId != null) { + List<ApiToken> apiTokens = this.apiTokenRepository.findByUserId(userId); + if (apiTokens != null && apiTokens.size() > 0) { + return ConvertUtil.copyProperties(apiTokens.get(0), ApiTokenVo.class); + } } return null; } - // �넗�겙 �궗�슜�옄 �씤利� + // �넗�겙 �궗�슜�옄 �씤利�, �씤利앺썑 �궗�슜�옄 媛��졇�삤湲� @Override public UserVo certification(String token) { UserVo userVo = this.getUserVo(token); - if (userVo != null){ + if (userVo != null && containsToken(userVo, token)) + { return userVo; } else { - throw new OwlRuntimeException( + throw new ApiAuthException( this.messageAccessor.getMessage(MsgConstants.ERROR_TOKEN)); } } + // �넗�겙�쑝濡� 李얘린 + private ApiToken find(String token) { + List<ApiToken> apiTokens = this.apiTokenRepository.findByToken(token); + if (apiTokens != null && apiTokens.size() > 0) { + return apiTokens.get(0); + } + return null; + } + + // �넗�겙 媛믪씠 db�뿉 議댁옱�븯�뒗吏� �솗�씤 + private boolean containsToken(UserVo userVo, String token) { + List<ApiToken> apiTokens = this.apiTokenRepository.findByUserId(userVo.getId()); + if (apiTokens != null && apiTokens.size() > 0) { + return apiTokens.get(0).getToken().equals(token); + } + return false; + } + // �넗�겙 �궘�젣 @Override public void remove(ApiTokenForm apiTokenForm) { -- Gitblit v1.8.0