From fb97c7b58b9a1bd8af0b6c1d3cc2152e77b35bde Mon Sep 17 00:00:00 2001 From: lexluo09 <39718951+lexluo09@users.noreply.github.com> Date: Tue, 25 Jun 2024 11:43:38 +0800 Subject: [PATCH] (improvement)(auth) Optimize the code for login authentication. (#1214) --- .../api/authentication/constant/UserConstants.java | 3 --- .../authentication/adaptor/DefaultUserAdaptor.java | 11 +++-------- .../auth/authentication/utils/UserTokenUtils.java | 2 +- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/auth/api/src/main/java/com/tencent/supersonic/auth/api/authentication/constant/UserConstants.java b/auth/api/src/main/java/com/tencent/supersonic/auth/api/authentication/constant/UserConstants.java index f176cb0bf..49737bfa4 100644 --- a/auth/api/src/main/java/com/tencent/supersonic/auth/api/authentication/constant/UserConstants.java +++ b/auth/api/src/main/java/com/tencent/supersonic/auth/api/authentication/constant/UserConstants.java @@ -13,9 +13,6 @@ public class UserConstants { public static final String TOKEN_USER_EMAIL = "token_user_email"; public static final String TOKEN_IS_ADMIN = "token_is_admin"; - - public static final String TOKEN_ALGORITHM = "HS512"; - public static final String TOKEN_CREATE_TIME = "token_create_time"; public static final String TOKEN_PREFIX = "Bearer"; diff --git a/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/adaptor/DefaultUserAdaptor.java b/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/adaptor/DefaultUserAdaptor.java index 8251ca5a7..fb94d4dd2 100644 --- a/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/adaptor/DefaultUserAdaptor.java +++ b/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/adaptor/DefaultUserAdaptor.java @@ -80,7 +80,6 @@ public class DefaultUserAdaptor implements UserAdaptor { try { byte[] salt = AESEncryptionUtil.generateSalt(userDO.getName()); userDO.setSalt(AESEncryptionUtil.getStringFromBytes(salt)); - log.info("salt: " + userDO.getSalt()); userDO.setPassword(AESEncryptionUtil.encrypt(userReq.getPassword(), salt)); } catch (Exception e) { throw new RuntimeException("password encrypt error, please try again"); @@ -91,13 +90,8 @@ public class DefaultUserAdaptor implements UserAdaptor { @Override public String login(UserReq userReq, HttpServletRequest request) { UserTokenUtils userTokenUtils = ContextUtils.getBean(UserTokenUtils.class); - try { - UserWithPassword user = getUserWithPassword(userReq); - return userTokenUtils.generateToken(user, request); - } catch (Exception e) { - log.error("", e); - throw new RuntimeException("password encrypt error, please try again"); - } + String appKey = userTokenUtils.getAppKey(request); + return login(userReq, appKey); } @Override @@ -107,6 +101,7 @@ public class DefaultUserAdaptor implements UserAdaptor { UserWithPassword user = getUserWithPassword(userReq); return userTokenUtils.generateToken(user, appKey); } catch (Exception e) { + log.error("", e); throw new RuntimeException("password encrypt error, please try again"); } } diff --git a/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/utils/UserTokenUtils.java b/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/utils/UserTokenUtils.java index 3e56971d4..68649bc82 100644 --- a/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/utils/UserTokenUtils.java +++ b/auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/utils/UserTokenUtils.java @@ -162,7 +162,7 @@ public class UserTokenUtils { return secret; } - private String getAppKey(HttpServletRequest request) { + public String getAppKey(HttpServletRequest request) { String appKey = request.getHeader(authenticationConfig.getTokenHttpHeaderAppKey()); if (StringUtils.isBlank(appKey)) { appKey = authenticationConfig.getTokenDefaultAppKey();