springboot学习记录之swagger2-jwt开发中遇到的问题

最近开始学习springboot,api doc 使用的是swagger2 ,使用jwt作为api保护。期间遇到的一些问题在这里整理一下,希望能帮到大家。

JWT是一种用户双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT(Json Web Token)作为一个开放的标准(RFC 7519),定义了一种简洁的、自包含的方法用于通信双方之间以Json对象的形式进行安全性信息传递,传递时有数字签名所以信息时安全的,JWT使用RSA公钥密钥的形式进行签名。

Swagger2,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。具体效果如下图所示:


我集成jwt的方式并不和网上很多的filter教程一致,我使用的Interceptor。具体继承教程参考:

使用JWT设计SpringBoot项目api接口安全服务

说下问题吧:

1.创建token是密码设置过于简单,出现java.lang.IllegalArgumentException: secret key byte array cannot be null or empty. 异常

解决方案:修改密码强度 wlt --> wlt-123


验证通过。

这是由于jwt内部参数验证机制导致的问题。

2.如何解决jwt会将token放在head里,在使用swagger测试的时候并不方便的问题。


这样展示效果如图:

总结

本文主要讲解了本人在SpringBoot项目使用swagger暴露resftul接口并加入JWT维护接口安全性时遇到的问题和解决方案。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容