借鉴参考
Java Token登录验证 使用jjwt生成和解析JWT
java基于token验证之登陆验证
等
什么是Token?
我的理解来说 token就是你访问服务器的口令,只要token合法,正确,你就能获取到后端数据
当用户第一次登陆后,用户名密码验证成功后,服务器会生成一个token,把token返回到客户端,一般token都是储存在浏览器的localStorage 或 cookies中,存在localStorage的token需要通过js,将token添加到http请求头中,下次再访问服务器,就不需要用户名密码了,只要带上token,服务器验证token的合法性后,就能访问后端资源了。是不是觉的很方便
添加依赖
我的项目是用gradle构建的,maven添加依赖可以百度一下
implementation (“io.jsonwebtoken:jjwt:0.9.0”)
implementation (“com.auth0:java-jwt:3.4.0”)
我前端是vue.js 用了element ui 三方库,servlet,mybatis
参考了链接
public class TokenSign {
/**
* @author
* 设置过期时间 1小时钟 为了方便测试
* 设置Token密匙 最好长一点
*/
private static final long EXPIRE_TIME= 60 * 60 * 1000;
private static final String TOKEN_SECRET="Token";
/**
* 产生token
* @param useName
* @param userId
* @return
*/
public static String Sign(String useName , long userId){
try{
//这里将useName 和 userId 存入了Token,在下面的解析中,也会有解析的方法可以获取到Token里面的数据
//Token过期的时间
Date date = new Date(System.currentTimeMillis()+EXPIRE_TIME);
System.out.println("date"+date);
Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET);
//设置头部信息
Map header = new HashMap<>();
header.put("typ