From 5bd92baaa0e6a29f484a13068647db4504367c16 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 22 Sep 2021 09:56:37 +0800 Subject: [PATCH] =?UTF-8?q?token=E6=B7=BB=E5=8A=A0app=E5=8F=8Aclient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/tduck/cloud/account/entity/UserEntity.java | 9 +++++++++ .../tduck/cloud/account/request/AccountLoginRequest.java | 2 ++ .../cloud/account/service/impl/UserServiceImpl.java | 4 +++- .../main/java/com/tduck/cloud/account/util/JwtUtils.java | 5 +++-- .../com/tduck/cloud/common/constant/CommonConstants.java | 8 ++++++++ 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java b/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java index c84dbc7..0850db8 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java @@ -60,5 +60,14 @@ public class UserEntity extends BaseEntity { */ private String lastLoginIp; + /** + * 非数据库字段开始 + */ + private transient String app; + private transient String client; + /** + * 非数据库字段结束 + */ + } diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java b/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java index f75df7d..2b2f266 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java @@ -21,4 +21,6 @@ public class AccountLoginRequest { * 请求Ip地址 */ private String requestIp; + private String app; + private String client; } diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java index feb11ea..72dbddf 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java @@ -100,6 +100,8 @@ public class UserServiceImpl extends ServiceImpl impleme if (ObjectUtil.isNull(userEntity) || !DigestUtil.sha256Hex(request.getPassword()).equals(userEntity.getPassword())) { return Result.failed("账号或密码错误"); } + userEntity.setApp(request.getApp()); + userEntity.setClient(request.getClient()); return Result.success(getLoginResult(userEntity, ReUtil.isMatch(Validator.EMAIL, request.getAccount()) ? AccountChannelEnum.EMAIL : AccountChannelEnum.PHONE, request.getRequestIp())); @@ -120,7 +122,7 @@ public class UserServiceImpl extends ServiceImpl impleme userEntity.setLastLoginChannel(channel); userEntity.setLastLoginTime(LocalDateTime.now()); this.updateById(userEntity); - String token = jwtUtils.generateToken(userEntity.getId()); + String token = jwtUtils.generateToken(userEntity.getId(),userEntity.getApp(),userEntity.getClient()); return new LoginUserVO(userEntity.getAvatar(), userEntity.getName(), token, userEntity.getCustomerId(), userEntity.getId()); } diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java b/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java index 6ec2e97..c90d155 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java @@ -29,12 +29,13 @@ public class JwtUtils { /** * 生成jwt token */ - public String generateToken(String userId) { + public String generateToken(String userId, String app, String client) { Date nowDate = new Date(); //过期时间 Date expireDate = new Date(nowDate.getTime() + expire * 1000); Map map = new HashMap<>(); - map.put(CommonConstants.JWT_KEY_USER_ID,userId); + map.put(CommonConstants.JWT_KEY_APP,app); + map.put(CommonConstants.JWT_KEY_CLIENT,client); return Jwts.builder() .setHeaderParam("typ", "JWT") .setClaims(map) diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java b/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java index 161d239..8b26764 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java @@ -25,6 +25,14 @@ public interface CommonConstants { * jwt userID key */ String JWT_KEY_USER_ID = "userId"; + /** + * jwt userID key + */ + String JWT_KEY_APP = "app"; + /** + * jwt userID key + */ + String JWT_KEY_CLIENT = "client"; /** * 客户Id key */