Ver código fonte

token问题处理

zsf 1 semana atrás
pai
commit
5e67ab066e

+ 1 - 1
src/main/java/com/rf/woodenFish/user/rest/UserController.java

@@ -91,7 +91,7 @@ public class UserController extends BaseController {
             resultJson.put("improve",true);
         }
 
-        resultJson.put("token", JWTUtil.getTokenByUserInfo(userEntity));
+        resultJson.put("token", JWTUtil.createToken(JSONObject.toJSONString(userEntity)));
         resultJson.put("user",userEntity);
         resultJson.put("openId",openId);
         log.info("响应消息:"+resultJson.toJSONString());

+ 12 - 0
src/main/java/com/rf/woodenFish/utils/JWTUtil.java

@@ -9,6 +9,7 @@ import com.auth0.jwt.interfaces.DecodedJWT;
 import com.rf.woodenFish.user.dao.model.UserEntity;
 
 import java.util.Calendar;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -26,6 +27,9 @@ public class JWTUtil {
     //token前缀
     public static final String TOKEN_PREFIX = "Bearer ";
 
+    //有效期默认为 2hour
+    public static final Long EXPIRATION_TIME = 1000L*60*60*12;
+
     public static String getToken(Map<String, String> map) {
 
         Calendar instance = Calendar.getInstance();
@@ -46,6 +50,14 @@ public class JWTUtil {
         return  getToken(payload);
     }
 
+    public static String createToken(String content){
+        return TOKEN_PREFIX + JWT.create()
+                .withSubject(content)
+                .withIssuedAt(new Date())
+                .withExpiresAt(new Date(System.currentTimeMillis() + EXPIRATION_TIME))
+                .sign(Algorithm.HMAC256(SING));
+    }
+
     /**
      * 验证token
      * @param token