在common_utils模块中添加jwt工具依赖

在pom中添加

<dependencies><!-- JWT--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId></dependency>
</dependencies>

创建JWT工具类

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jws;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.springframework.util.StringUtils;import javax.servlet.http.HttpServletRequest;
import java.util.Date;/*** @author*/
public class JwtUtils {public static final long EXPIRE = 1000 * 60 * 60 * 24;public static final String APP_SECRET = "ukc8BDbRigUDaY6pZFfWus2jZWLPHO";public static String getJwtToken(String id, String nickname){String JwtToken = Jwts.builder().setHeaderParam("typ", "JWT").setHeaderParam("alg", "HS256").setSubject("user").setIssuedAt(new Date()).setExpiration(new Date(System.currentTimeMillis() + EXPIRE)).claim("id", id).claim("nickname", nickname).signWith(SignatureAlgorithm.HS256, APP_SECRET).compact();return JwtToken;}/*** 判断token是否存在与有效* @param jwtToken* @return*/public static boolean checkToken(String jwtToken) {if(StringUtils.isEmpty(jwtToken)) return false;try {Jwts.parser().setSigningKey(APP_SECRET).parseClaimsJws(jwtToken);} catch (Exception e) {e.printStackTrace();return false;}return true;}/*** 判断token是否存在与有效* @param request* @return*/public static boolean checkToken(HttpServletRequest request) {try {String jwtToken = request.getHeader("token");if(StringUtils.isEmpty(jwtToken)) return false;Jwts.parser().setSigningKey(APP_SECRET).parseClaimsJws(jwtToken);} catch (Exception e) {e.printStackTrace();return false;}return true;}/*** 根据token获取会员id* @param request* @return*/public static String getMemberIdByJwtToken(HttpServletRequest request) {String jwtToken = request.getHeader("token");if(StringUtils.isEmpty(jwtToken)) return "";Jws<Claims> claimsJws = Jwts.parser().setSigningKey(APP_SECRET).parseClaimsJws(jwtToken);Claims claims = claimsJws.getBody();return (String)claims.get("id");}
}

项目添加JWT工具类相关推荐

  1. SpringBoot+SpringSecurity系列 :JWT 工具类

    第一步:创建SpringBoot项目 添加依赖 <dependency><groupId>org.projectlombok</groupId><artifa ...

  2. JWT的讲解以及JJWT的使用(另附JWT工具类)

    0. 前言 关于JWT的文章网上已经多如牛毛了,但是相信很多同学学的还是云里雾里,所以在我学习JWT之后尽量用最简洁的描述写下这篇文章用于日后复习,与此同时也希望可以帮助同学们共同进步,如果文章对你有 ...

  3. java web 项目 常用 小工具类 ~~~~

    java web 项目 常用 小工具类 ~~~~ 一 .DateUtil  日期工具类 package com.devframe.common.util;import java.text.Simple ...

  4. JWT|概述|JWT结构|JWT在java中的使用|JWT工具类的封装|JWT在springboot中的使用|JWT与拦截器的配合

    JWT ! 前记: 官网:https://jwt.io/ jwt有人说是用计算力换空间(相对于session) 小程序后台要求全部用springboot实现..登录状态的管理:本来想用自己随便生成UU ...

  5. 天地图覆盖物的添加,工具类的使用

    下面是自己在使用天地图后的总结,方便以后查看 首先在项目中引入天地图 <script src="http://api.tianditu.gov.cn/api?v=4.0&tk= ...

  6. java.awt.font 宋体,SpringBoot项目集成字体工具类

    场景:采用JasperReport生成报表时,若将模版中的字体配置成宋体时.部署在不同的系统上时,可能会出现中文乱码的情况,也可以适用于其他任何需要单独配置字体的第三方库. 首先,你可以给部署的服务器 ...

  7. SpringBoot项目集成字体工具类

    场景:采用JasperReport生成报表时,若将模版中的字体配置成宋体时.部署在不同的系统上时,可能会出现中文乱码的情况,也可以适用于其他任何需要单独配置字体的第三方库. 首先,你可以给部署的服务器 ...

  8. java项目常用的工具类

    前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...

  9. 财务管理系统(3)项目eclips简单工具类

    将对象转换成Json字符串,响应给前台ajax回调函数,调用阿里巴巴的fastJson包 package com.zyd.util;import java.io.PrintWriter;import ...

最新文章

  1. MegEngine 框架设计
  2. 建立桌面文件管理格子_你不知道文件管理神器,一键收拾乱糟糟的桌面
  3. 重磅分享(二)——决策引擎实战部署
  4. Android Studio添加android.support.v4包的依赖(解决V4的FragmentManager的错误)
  5. 线程创建 pthread_create 中自定义参数注意事项
  6. Python:***测试开源项目
  7. 16_使用开源项目下载文件
  8. matlab线检测,车道线检测(matlab)
  9. PHP面试题及答案(一)
  10. 3726.调整数组-AcWing题库
  11. 通达oa服务器文件夹管理,通达OA办公系统软件功能介绍.doc
  12. 脚本小子_Lua数据类型
  13. 时下火热的 NFT 究竟有什么用?
  14. vue.js — 安装Webpake创建一个完整的项目并上传至码云
  15. 零基础学python-2.24 一些常用函数
  16. Java 比较字符串之间大小
  17. 一文梳理人脸识别,看完全都懂了!
  18. Proficy Historian介绍
  19. ZigBee的发展也有“碎片化”zigbee模块
  20. 几计算机网络特,湛江理工职业学校1级MS0ffice了解计算机网络的基本概念和因特网...

热门文章

  1. 【收藏】CMD命令提示符窗口中的快捷键、小技巧和常用命令
  2. 【Javascript】复选框的全选与全不选
  3. 在谈PHP中的 抽象类(abstract class)和 接口(interface)
  4. ZOJ 1610 Count the Colors (线段树区间更新)
  5. 《JavaScript高级程序设计》阅读笔记(五):ECMAScript中的运算符(一)
  6. MVC开发人员必备的五大工具
  7. 独家解读 | 滴滴机器学习平台架构演进之路
  8. 一步步开始集中管理[为企业部署Windows Server 2008系列五] 推荐
  9. iptables之xtables_addons浅度解析
  10. POJ 3368 Frequent values (RMQ)