如何生成token

主要代码

1         //JWT 默认过期时间,3600L,单位秒
2         Long expireSecond = 3600L;
3         //盐值 
4         String newSalt = 6665         String token = JwtUtil.generateToken(user.getUsername(), newSalt,     
6         Duration.ofSeconds(expireSecond));        

JwtUtil.generateToken方法

 1  /**
 2      * 生成JWT Token
 3      *
 4      * @param username       用户名
 5      * @param salt           盐值
 6      * @param expireDuration 过期时间和单位
 7      * @return token
 8      */
 9     public static String generateToken(String username, String salt, Duration expireDuration) {
10         try {
11             if (StringUtils.isBlank(username)) {
12                 log.error("username不能为空");
13                 return null;
14             }
15             log.debug("username:{}", username);
16 
17             // 如果盐值为空,则使用默认值:666666
18             if (StringUtils.isBlank(salt)) {
19                 salt = "666666;
20             }
21 
22             // 过期时间,单位:秒
23             Long expireSecond;
24             // 默认过期时间为1小时 3600L 单位秒
25             if (expireDuration == null) {
26                 expireSecond = "3600L";
27             } else {
28                 expireSecond = expireDuration.getSeconds();
29             }
30             Date expireDate = DateUtils.addSeconds(new Date(), expireSecond.intValue());
31 
32             // 生成token
33             Algorithm algorithm = Algorithm.HMAC256(salt);
34             String token = JWT.create()
35                     .withClaim(CommonConstant.JWT_USERNAME, username)
36                     // jwt唯一id
37                     .withJWTId(UUIDUtil.getUuid())
38                     // 签发人
39                     .withIssuer("")
40                     // 主题
41                     .withSubject("")
42                     // 签发的目标
43                     .withAudience("")
44                     // 签名时间
45                     .withIssuedAt(new Date())
46                     // token过期时间
47                     .withExpiresAt(expireDate)
48                     // 签名
49                     .sign(algorithm);
50             return token;
51         } catch (Exception e) {
52             log.error("generateToken exception", e);
53         }
54         return null;
55     }

猜你喜欢

转载自www.cnblogs.com/chensisi/p/13372310.html