# token-manager-spring-boot-starter **Repository Path**: noxcode/token-manager-spring-boot-starter ## Basic Information - **Project Name**: token-manager-spring-boot-starter - **Description**: 简单的Spring Boot Token管理 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2020-06-02 - **Last Updated**: 2022-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简单的Spring Boot Token管理 ## 后续增加功能 * [ ] 返回Token状态, 无效,过期,有效 默认使用Redis保存Token 需要配置redis使用 可以用TokenKit.getInfo()获取Token信息 ``` spring.redis.host=localhost spring.redis.password= ``` ## 配置说明 ``` nox.token.token-prefix=nox:token // token在redis保存的前缀 nox.token.header=token // token拦截器获取token头部的key nox.token.key=1234567890123456 // AES加密key 必须16位字符 nox.token.time-type=TimeUnit.SECONDS // token过期时间单位默认秒 nox.token.token-time=2 * 60 * 60 // 默认两个小时 nox.token.response-result= //token无效响应结果,可以自定义 nox.token.response-result.code=401 //默认返回code nox.token.response-result.msg=token invalid //默认返回msg nox.token.api-path=/api/**,/api2/** // 拦截器拦截链接 支持多个URL nox.token.error-code=401 // token无效返回的HTTP状态码 nox.token.ignore-urls=/api/login // 排除验证Token的URL nox.token.anno=true // 是否开启API注解验证默认为true 开启后接口方法要使用 @AuthApi注解才会验证token是否有效 ``` ## 使用说明 1. `mvn install` 后即可使用 ```xml com.noxjs.spring.token token-manager-spring-boot-starter 1.0.14 ``` 2. pom.xml设置仓库 ```xml jitpack.io https://jitpack.io com.noxjs.spring.token token-manager-spring-boot-starter 1.0.14 ``` 如果配置nox.token.anno=true,@AuthApi Controller方法使用当前注解说明必须使用token才可以访问 @TokenInfo 可以获取token信息 ``` @GetMapping("/api/test") @AuthApi public Token test (@TokenInfo Token token) { return token; } ``` ## 使用方法 ```java @RestController @RequestMapping("/auth") public class LoginController { @Autowired private TokenService tokenService; @PostMapping("/login") public String login(String username,String password) { if (!username.equals("admin") && !password.equals("admin")) { return "密码错误"; } DefaultToken defaultToken = new DefaultToken(); defaultToken.setCreatedTime(new Date()); defaultToken.setId("1"); defaultToken.setPlatform("APP"); defaultToken.setInfo(MapUtil.of("username",username)); return tokenService.createToken(defaultToken); } } ```