导言 :该文最终本人实现目的为通过JWT来生成token作为用户登录或调用api等身份验证凭证,同时简单的引入了Redis作为缓存来存放Token。用最简洁的方法给第一次接触Token的朋友们快速入门并且实际运用到项目中。不纠结于理论,只聚焦于实战,如果有希望了解更多理论的朋友,可以在看本文的过程中查询其他理论性文章。
这几天毕设项目正准备开始搞,想到之前的项目登录没有做token密码只是md5加密,再加上实习导师的建议,我就开始搞了JWT+Redis,查了诸多参考文献资料等,花了三天时间基本完成了这个功能。
Json Web Token
引入JWT
<!-- Json web token 用于验证--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency> 复制代码
配置JWT工具类
Token分为三个部分,头,荷载,和签名,我们需要对这几个部分分别设置,第一个方法为创建一个JsonWebToken
第二个工具类为检查 token
是否正常,值得注意的是,除了解析后的姓名身份等等,如果时间异常(已经超过有效期)也将被 catch
异常,所以直接写在 try-catch
中即可
//JsonWebTokenUtil public class JsonWebToken { private static longtime= 1000*60*60*24; private static Stringsignature= "9991morF0GgnahZ"; public static String createToken(String role,String name){ JwtBuilder jwtBuilder = Jwts.builder(); String jwToken = jwtBuilder //链式编程 添加头