Jwt 生成 token(Java 工具类)
发布日期:2021-11-02 09:48:56 浏览次数:5 分类:技术文章

本文共 1520 字,大约阅读时间需要 5 分钟。

JwtUtil

使用 Jwt 生成 token,并与前端交互。Jwt的相关知识请自行百度。

代码实现

Staff 实体类的导包已删除,请使用自己的类。

import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jwts;import io.jsonwebtoken.SignatureAlgorithm;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.UUID;/** * @author NNroc * @date 2020/5/12 19:57 */public class JwtUtil {
/** * 获取token * * @param encryKey * @param minutes * @return */ public static String getToken(Staff staff, String encryKey, long minutes) {
long currentTime = System.currentTimeMillis(); Map
map = new HashMap<>(); map.put("staffId", staff.getStaffId());// map.put("staffWeight", staff.getStaffWeight()); return Jwts.builder() .setId(UUID.randomUUID().toString()) //当前用户 .setIssuedAt(new Date()) //签发日期 .setSubject("staff") //说明 .setIssuer("NNroc") //签发者信息 .signWith(SignatureAlgorithm.HS256, encryKey) //加密方式 .addClaims(map) .setExpiration(new Date(currentTime + minutes * 1000 * 60)) //过期时间 .compact(); } /** * 获取claims * * @param token * @param encryKey * @return */ public static Claims getClaims(String token, String encryKey) {
try {
Claims claims = Jwts.parser().setSigningKey(encryKey).parseClaimsJws(token).getBody(); return claims; } catch (Exception e) {
return null; } }}

转载地址:https://blog.csdn.net/weixin_43820352/article/details/110962417 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:MD5加密(Java 工具类)
下一篇:自定义注解 管理权限(Java 工具类)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月26日 04时24分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章