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 6bcfec0..6ec2e97 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 @@ -1,5 +1,6 @@ package com.tduck.cloud.account.util; +import com.tduck.cloud.common.constant.CommonConstants; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; @@ -8,6 +9,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.Date; +import java.util.HashMap; +import java.util.Map; /** * jwt工具类 @@ -30,10 +33,11 @@ public class JwtUtils { Date nowDate = new Date(); //过期时间 Date expireDate = new Date(nowDate.getTime() + expire * 1000); - + Map map = new HashMap<>(); + map.put(CommonConstants.JWT_KEY_USER_ID,userId); return Jwts.builder() .setHeaderParam("typ", "JWT") - .setSubject(userId) + .setClaims(map) .setIssuedAt(nowDate) .setExpiration(expireDate) .signWith(SignatureAlgorithm.HS512, secret) diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java index c37516c..ca761f0 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java +++ b/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.api.annotation.Login; import com.tduck.cloud.api.exception.AuthorizationException; +import com.tduck.cloud.common.constant.CommonConstants; import io.jsonwebtoken.Claims; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; @@ -54,7 +55,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { } //设置userId到request里,后续根据userId,获取用户信息 - String userId = (String) claims.get("userId"); + String userId = (String) claims.get(CommonConstants.JWT_KEY_USER_ID); request.setAttribute(USER_KEY, userId); return true; 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 9f4637f..3aa2de3 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 @@ -21,6 +21,10 @@ public interface CommonConstants { * 文件下载content_type */ String FILE_DOWNLOAD_CONTENT_TYPE = "application/octet-stream;charset=UTF-8"; + /** + * jwt userID key + */ + String JWT_KEY_USER_ID = "userId"; /**