Browse Source

token添加app及client

dev
jianjun 4 years ago
parent
commit
5bd92baaa0
  1. 9
      tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java
  2. 2
      tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java
  3. 4
      tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java
  4. 5
      tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java
  5. 8
      tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java

9
tduck-account/src/main/java/com/tduck/cloud/account/entity/UserEntity.java

@ -60,5 +60,14 @@ public class UserEntity extends BaseEntity<UserEntity> {
*/ */
private String lastLoginIp; private String lastLoginIp;
/**
* 非数据库字段开始
*/
private transient String app;
private transient String client;
/**
* 非数据库字段结束
*/
} }

2
tduck-account/src/main/java/com/tduck/cloud/account/request/AccountLoginRequest.java

@ -21,4 +21,6 @@ public class AccountLoginRequest {
* 请求Ip地址 * 请求Ip地址
*/ */
private String requestIp; private String requestIp;
private String app;
private String client;
} }

4
tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java

@ -100,6 +100,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> impleme
if (ObjectUtil.isNull(userEntity) || !DigestUtil.sha256Hex(request.getPassword()).equals(userEntity.getPassword())) { if (ObjectUtil.isNull(userEntity) || !DigestUtil.sha256Hex(request.getPassword()).equals(userEntity.getPassword())) {
return Result.failed("账号或密码错误"); return Result.failed("账号或密码错误");
} }
userEntity.setApp(request.getApp());
userEntity.setClient(request.getClient());
return Result.success(getLoginResult(userEntity, return Result.success(getLoginResult(userEntity,
ReUtil.isMatch(Validator.EMAIL, request.getAccount()) ? AccountChannelEnum.EMAIL : AccountChannelEnum.PHONE, ReUtil.isMatch(Validator.EMAIL, request.getAccount()) ? AccountChannelEnum.EMAIL : AccountChannelEnum.PHONE,
request.getRequestIp())); request.getRequestIp()));
@ -120,7 +122,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> impleme
userEntity.setLastLoginChannel(channel); userEntity.setLastLoginChannel(channel);
userEntity.setLastLoginTime(LocalDateTime.now()); userEntity.setLastLoginTime(LocalDateTime.now());
this.updateById(userEntity); 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()); return new LoginUserVO(userEntity.getAvatar(), userEntity.getName(), token, userEntity.getCustomerId(), userEntity.getId());
} }

5
tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java

@ -29,12 +29,13 @@ public class JwtUtils {
/** /**
* 生成jwt token * 生成jwt token
*/ */
public String generateToken(String userId) { public String generateToken(String userId, String app, String client) {
Date nowDate = new Date(); Date nowDate = new Date();
//过期时间 //过期时间
Date expireDate = new Date(nowDate.getTime() + expire * 1000); Date expireDate = new Date(nowDate.getTime() + expire * 1000);
Map<String,Object> map = new HashMap<>(); Map<String,Object> 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() return Jwts.builder()
.setHeaderParam("typ", "JWT") .setHeaderParam("typ", "JWT")
.setClaims(map) .setClaims(map)

8
tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java

@ -25,6 +25,14 @@ public interface CommonConstants {
* jwt userID key * jwt userID key
*/ */
String JWT_KEY_USER_ID = "userId"; String JWT_KEY_USER_ID = "userId";
/**
* jwt userID key
*/
String JWT_KEY_APP = "app";
/**
* jwt userID key
*/
String JWT_KEY_CLIENT = "client";
/** /**
* 客户Id key * 客户Id key
*/ */

Loading…
Cancel
Save