Browse Source

兼容党群jwt

dev
jianjun 4 years ago
parent
commit
a66b05a59e
  1. 8
      tduck-account/src/main/java/com/tduck/cloud/account/util/JwtUtils.java
  2. 3
      tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java
  3. 4
      tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java

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

@ -1,5 +1,6 @@
package com.tduck.cloud.account.util; package com.tduck.cloud.account.util;
import com.tduck.cloud.common.constant.CommonConstants;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SignatureAlgorithm;
@ -8,6 +9,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/** /**
* jwt工具类 * jwt工具类
@ -30,10 +33,11 @@ public class JwtUtils {
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.put(CommonConstants.JWT_KEY_USER_ID,userId);
return Jwts.builder() return Jwts.builder()
.setHeaderParam("typ", "JWT") .setHeaderParam("typ", "JWT")
.setSubject(userId) .setClaims(map)
.setIssuedAt(nowDate) .setIssuedAt(nowDate)
.setExpiration(expireDate) .setExpiration(expireDate)
.signWith(SignatureAlgorithm.HS512, secret) .signWith(SignatureAlgorithm.HS512, secret)

3
tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java

@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
import com.tduck.cloud.account.util.JwtUtils; import com.tduck.cloud.account.util.JwtUtils;
import com.tduck.cloud.api.annotation.Login; import com.tduck.cloud.api.annotation.Login;
import com.tduck.cloud.api.exception.AuthorizationException; import com.tduck.cloud.api.exception.AuthorizationException;
import com.tduck.cloud.common.constant.CommonConstants;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
@ -54,7 +55,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
} }
//设置userId到request里,后续根据userId,获取用户信息 //设置userId到request里,后续根据userId,获取用户信息
String userId = (String) claims.get("userId"); String userId = (String) claims.get(CommonConstants.JWT_KEY_USER_ID);
request.setAttribute(USER_KEY, userId); request.setAttribute(USER_KEY, userId);
return true; return true;

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

@ -21,6 +21,10 @@ public interface CommonConstants {
* 文件下载content_type * 文件下载content_type
*/ */
String FILE_DOWNLOAD_CONTENT_TYPE = "application/octet-stream;charset=UTF-8"; String FILE_DOWNLOAD_CONTENT_TYPE = "application/octet-stream;charset=UTF-8";
/**
* jwt userID key
*/
String JWT_KEY_USER_ID = "userId";
/** /**

Loading…
Cancel
Save