通过上面得知,没有经过业务加密的Token,是可以进行解析的,所以不建议把一些敏感信息放在Payload中。但是对于认证来说是安全,因为校验签名是需要密钥的,而密钥是存在服务器端,一般人肯定是不知道的。
对于Token的过期,有一个点,即过期滑动时间,如果不设置,默认是五分钟,即当设置Token有效期到期时,不会马上失效,而是再过五分钟才失效,如下例:
过了几分钟后还是没有过期,如下:
过六分之后,再访问,发现Token才失效,如果觉得过期滑动时间不满足需求,可以进行设置,如下:
这里运行效果就不截图了,小伙伴试试吧!!! 这里关于Jwt的集成先说这么多,肯定是没有说完的,还有权限验证那块,单独整理一篇说吧,内容也不少。
Swagger小扩展
既然都用到Swagger,肯定是希望在Swagger上直接测试,来来来,继续往下看看↓↓↓
在注册Swagger组件时进行相关配置:
运行结果如下:
点击小锁,弹出框可进行Token输入:
输入Token授权之后就可以调用保护的接口,可以很方便的进行测试,这里就不截图演示了,小伙伴们动手试试吧。
附加知识点:
由于SecurityRequirementsOperationFilter默认将securitySchemaName 设置为"oauth2",所以在Swagger中加入描述的时候需要指定第一个参数为"oauth2",源码如下:
也可以换成其他方式,参照实现的方式2,两种方式差不多,如下图:
注意点:
生成Token时的密钥大于或等于16个字符;
生成的Token中默认不加密,敏感信息不要放入其中,如果有需要,可以将Token进行加密;
Token传输如果是外网,建议用Https,防止中途被拦截;
Token防止泄露,可以将有效期设置短一点;
总结
关于权限的验证单独再整理一篇分享,这里就先到这吧;旅游或回家的小伙伴们应该都回到自己的住处了吧,好好休息休息,又要开始撸码啦。
一个被程序搞丑的帅小伙,关注"Code综艺圈",识别关注跟我一起学~~~
撸文不易,莫要白瞟,三连走起~~~~