78 lines
1.7 KiB
Markdown
78 lines
1.7 KiB
Markdown
# Redis集成测试
|
||
|
||
这个文件包含了Redis集成的测试说明。
|
||
|
||
## 环境配置
|
||
|
||
1. 复制环境配置文件:
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
2. 根据需要修改 `.env` 文件中的Redis配置:
|
||
```bash
|
||
REDIS_URL=redis://:123456@127.0.0.1:6379/9
|
||
```
|
||
|
||
## 启动Redis服务
|
||
|
||
确保Redis服务器正在运行:
|
||
```bash
|
||
# 使用Docker运行Redis
|
||
docker run -d -p 6379:6379 --name redis-udmin redis:7-alpine --requirepass 123456
|
||
|
||
# 或者使用本地Redis服务
|
||
redis-server --requirepass 123456
|
||
```
|
||
|
||
## 测试Redis连接
|
||
|
||
启动服务器:
|
||
```bash
|
||
cargo run
|
||
```
|
||
|
||
查看日志中是否有Redis连接成功的信息:
|
||
```
|
||
[INFO] Connecting to Redis at: redis://:***@127.0.0.1:6379/9
|
||
[INFO] Redis connection established successfully
|
||
```
|
||
|
||
## 测试Token存储
|
||
|
||
1. 登录获取token:
|
||
```bash
|
||
curl -X POST http://localhost:8080/api/auth/login \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"username":"admin","password":"Admin@123"}'
|
||
```
|
||
|
||
2. 检查Redis中的token:
|
||
```bash
|
||
# 连接到Redis CLI
|
||
redis-cli -a 123456 -n 9
|
||
|
||
# 查看所有token键
|
||
KEYS token:*
|
||
|
||
# 查看特定用户的token
|
||
GET token:access:user:1
|
||
GET token:refresh:user:1
|
||
```
|
||
|
||
## 功能验证
|
||
|
||
Redis集成后的新功能:
|
||
|
||
1. **Token存储**:所有JWT token都存储在Redis中
|
||
2. **Token验证**:每次API调用都会验证Redis中的token
|
||
3. **Token撤销**:logout时会从Redis中删除token
|
||
4. **性能提升**:减少数据库查询,提升认证性能
|
||
5. **单点登录**:防止多重登录(可配置)
|
||
|
||
## 环境变量说明
|
||
|
||
- `REDIS_URL`: Redis连接字符串
|
||
- `REDIS_TOKEN_VALIDATION`: 是否启用Redis token验证(默认true)
|
||
- `JWT_ACCESS_EXP_SECS`: 访问token过期时间(秒)
|
||
- `JWT_REFRESH_EXP_SECS`: 刷新token过期时间(秒) |