From b643feeda66175bde779177c3e5abf47f60346d8 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 일, 12 12월 2021 12:02:50 +0900
Subject: [PATCH] - api 토큰을 db에서 확인하지 않는 문제 수정

---
 src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 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 aa0e2d9..e7165ed 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/ApiTokenServiceImpl.java
@@ -124,9 +124,15 @@
     @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;
     }
@@ -135,7 +141,7 @@
     @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(
@@ -143,6 +149,15 @@
          }
     }
 
+    // �넗�겙 媛믪씠 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