介绍
- 构建一些简单的登录业务时,每次都要去配置jwt很烦,于是构建了此模块。
- 满足了以下功能
常规放行地址
excludePathPatterns.add("/swagger-resources/**");excludePathPatterns.add("/webjars/**");excludePathPatterns.add("/v2/api-docs/**");excludePathPatterns.add("/v3/api-docs/**");excludePathPatterns.add("/swagger**/**");excludePathPatterns.add("/swagger-ui.html/**");excludePathPatterns.add("/doc.html/**");excludePathPatterns.add("/user/login/**");
配置说明
jwt主要配置
jdevelops:jwt:## 过期时间为一天 (24*60*60*1000) 单位 毫秒 (有默认 一天)expire-time: 100000## 自定义token私钥 (有默认)token-secret: adsaweadadcxa123web:interceptor:# 默认拦截全部可不写# add-path-patterns: /**# 放行接口或者资源地址exclude-path-patterns: /letGo
放行接口多个写法(yml)
方式一
jdevelops:jwt:web:interceptor:exclude-path-patterns: [/letGo,/letGo2]
方式二
jdevelops:jwt:web:interceptor:exclude-path-patterns:- /letGo- /letGo2
接口示例
- 上面配置好之后直接可以进行接口的测试
- 接口测试示例 ```java package cn.tannn.jwt.controller;
import cn.jdevelops.jwtweb.annotation.ApiMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;
/**
- @author tn
- @version 1
@date 2021-12-12 14:48 */ @RestController public class JwtController {
@GetMapping(“stop”) public String stop(){
return "拦截我";
}
@GetMapping("letGo")public String letGo(){return "通过配置放行我";}@ApiMapping(value = "/api/letGo",checkToken = false)public String apiLetGo(){return "利用注解@ApiMapping放行";}@GetMapping("/user/login")public String defaultLetGo(){return "默认放行</user/login>";}
}
<a name="DiK8h"></a># 其他功能<a name="RO68l"></a>## 自定义返回错误认证格式- 默认```json{"code": 10003,"message": "无效的token","success": false,"traceId": "9720264328446016","ts": 1639295463029}
- 自定义参考
