# 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);
}
}
```