jwt官网:token的生成是这三部分:Header(请求头),Payload(有效负载),Signature(签名-生成token)
->TokenUtils开发 + ResultToken开发 -> 达到生成,验证,响应token
一、header里存入的token使用的加密算法
官网里的header的key是typ,token的类型基于jwt加密;alg是算法的内容,HS256是加密内容;
二、Payload-绑定header+用户帐密(生成的token是和用户有关的)+token有效期
jwt调用方法create,返回值是一个内部类;入参是map类型,所以可以直接填入刚刚得到的header,绑定header
因为生成的token是和用户有关的所以需要用户帐密的信息
因为session是有有效期的,所以需要当前时间和过期时间
过期时间定义1分钟=1000ms,=3600分钟,所以3600*1000是代表1h
当前时间-date的源码类中有相关方法
最终
三、Signature-生成token,使用Algorithm源码类
使用sign方法,生成算法
首先你的这个方法不能为空,需要配置jwt,如果没有配置它会给你配,所以需要使用这个Algorithm源码类
因为之前选择的是hs256,所以算法只能选择256的算法,如果不太安全很容易被破解,可以自定义加一段密钥
定义为全局常量--方便之后使用
最终
测试-这里得到的token是有这三部分组成,一共按照.区分,有三段内容
封装
测试
这个token里包含lisi和123456的信息