介绍
- 构建一些简单的登录业务时,每次都要去配置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: adsaweadadcxa123
web:
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
}
- 自定义参考