项目添加JWT工具类
在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工具类相关推荐
- SpringBoot+SpringSecurity系列 :JWT 工具类
第一步:创建SpringBoot项目 添加依赖 <dependency><groupId>org.projectlombok</groupId><artifa ...
- JWT的讲解以及JJWT的使用(另附JWT工具类)
0. 前言 关于JWT的文章网上已经多如牛毛了,但是相信很多同学学的还是云里雾里,所以在我学习JWT之后尽量用最简洁的描述写下这篇文章用于日后复习,与此同时也希望可以帮助同学们共同进步,如果文章对你有 ...
- java web 项目 常用 小工具类 ~~~~
java web 项目 常用 小工具类 ~~~~ 一 .DateUtil 日期工具类 package com.devframe.common.util;import java.text.Simple ...
- JWT|概述|JWT结构|JWT在java中的使用|JWT工具类的封装|JWT在springboot中的使用|JWT与拦截器的配合
JWT ! 前记: 官网:https://jwt.io/ jwt有人说是用计算力换空间(相对于session) 小程序后台要求全部用springboot实现..登录状态的管理:本来想用自己随便生成UU ...
- 天地图覆盖物的添加,工具类的使用
下面是自己在使用天地图后的总结,方便以后查看 首先在项目中引入天地图 <script src="http://api.tianditu.gov.cn/api?v=4.0&tk= ...
- java.awt.font 宋体,SpringBoot项目集成字体工具类
场景:采用JasperReport生成报表时,若将模版中的字体配置成宋体时.部署在不同的系统上时,可能会出现中文乱码的情况,也可以适用于其他任何需要单独配置字体的第三方库. 首先,你可以给部署的服务器 ...
- SpringBoot项目集成字体工具类
场景:采用JasperReport生成报表时,若将模版中的字体配置成宋体时.部署在不同的系统上时,可能会出现中文乱码的情况,也可以适用于其他任何需要单独配置字体的第三方库. 首先,你可以给部署的服务器 ...
- java项目常用的工具类
前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...
- 财务管理系统(3)项目eclips简单工具类
将对象转换成Json字符串,响应给前台ajax回调函数,调用阿里巴巴的fastJson包 package com.zyd.util;import java.io.PrintWriter;import ...
最新文章
- MegEngine 框架设计
- 建立桌面文件管理格子_你不知道文件管理神器,一键收拾乱糟糟的桌面
- 重磅分享(二)——决策引擎实战部署
- Android Studio添加android.support.v4包的依赖(解决V4的FragmentManager的错误)
- 线程创建 pthread_create 中自定义参数注意事项
- Python:***测试开源项目
- 16_使用开源项目下载文件
- matlab线检测,车道线检测(matlab)
- PHP面试题及答案(一)
- 3726.调整数组-AcWing题库
- 通达oa服务器文件夹管理,通达OA办公系统软件功能介绍.doc
- 脚本小子_Lua数据类型
- 时下火热的 NFT 究竟有什么用?
- vue.js — 安装Webpake创建一个完整的项目并上传至码云
- 零基础学python-2.24 一些常用函数
- Java 比较字符串之间大小
- 一文梳理人脸识别,看完全都懂了!
- Proficy Historian介绍
- ZigBee的发展也有“碎片化”zigbee模块
- 几计算机网络特,湛江理工职业学校1级MS0ffice了解计算机网络的基本概念和因特网...
热门文章
- 【收藏】CMD命令提示符窗口中的快捷键、小技巧和常用命令
- 【Javascript】复选框的全选与全不选
- 在谈PHP中的 抽象类(abstract class)和 接口(interface)
- ZOJ 1610 Count the Colors (线段树区间更新)
- 《JavaScript高级程序设计》阅读笔记(五):ECMAScript中的运算符(一)
- MVC开发人员必备的五大工具
- 独家解读 | 滴滴机器学习平台架构演进之路
- 一步步开始集中管理[为企业部署Windows Server 2008系列五] 推荐
- iptables之xtables_addons浅度解析
- POJ 3368 Frequent values (RMQ)