axios.interception.request.user(config => {
config.headers.Authorization = window.sessionStorage.getItem(‘token’)
return config
})
下面是对于token 的生成方式 ,一般我们是在属性文件中配置属性 公钥和私钥
/**
-
JWT工具类
/
public class JwtHelper {
//过期时间
private static long tokenExpiration = 2460601000;
//token签名密钥
private static String tokenSignKey = “123456”;//根据参数生成token
public static String createToken(Long userId, String userName) {
String token = Jwts.builder()
.setSubject(“YYGH-USER”)
//设置过期时间 30分钟
.setExpiration(new Date(System.currentTimeMillis() + tokenExpiration))
//设置主题信息 用户id和用户名称
.claim(“userId”, userId)
.claim(“userName”, userName)
//签名哈希
.signWith(SignatureAlgorithm.HS512, tokenSignKey)
.compressWith(CompressionCodecs.GZIP)
.compact();
return token;
}
//根据token字符串得到用户id
public static Long getUserId(String token) {
if(StringUtils.isEmpty(token)) return null;
Jws claimsJws = Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);
Claims claims = claimsJws.getBody();
Integer userId = (Integer)claims.get(“userId”);
return userId.longValue();
}
//根据token字符串得到用户名称
public static String getUserName(String token) {
if(StringUtils.isEmpty(token)) return “”;
Jws claimsJws
= Jwts.parser().setSigningKey(tokenSignKey).parseClaimsJws(token);
Claims claims = claimsJws.getBody();
return (String)claims.get(“userName”);
}
}
io.jsonwebtoken
jjwt
本文介绍了使用JWT(JSON Web Tokens)进行身份验证的方法。通过JWTHelper类展示了如何设置过期时间和签名密钥来创建及解析token,同时提供了获取用户ID和用户名的辅助方法。在实际应用中,通常将这些配置置于属性文件中。
10万+

被折叠的 条评论
为什么被折叠?



