登录认证
NestJS 后端采用 JWT + 可选 Redis 双模式认证。
认证流程
客户端 服务端
│ │
│ POST /api/v1/auth/login│
│ { username, password } │
├─────────────────────────→│
│ │ 验证账号密码
│ │ 生成 JWT Token
│ { accessToken, │
│ expiresIn } │
│←────────────────────────│
│ │
│ 后续请求 Header: │
│ Authorization: Bearer xxx
├─────────────────────────→│
│ │ Guard 验证 Token接口说明
登录
POST /api/v1/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "123456"
}响应:
json
{
"code": "00000",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"expiresIn": 7200000
},
"msg": "成功"
}获取当前用户信息
GET /api/v1/auth/info
Authorization: Bearer <token>退出登录
POST /api/v1/auth/logout
Authorization: Bearer <token>核心模块位置
src/
├── auth/
│ ├── auth.module.ts # Auth 模块定义
│ ├── auth.controller.ts # 认证控制器
│ └── auth.service.ts # 认证逻辑
├── auth/strategies/jwt.strategy.ts # JWT 策略
├── common/guards/jwt-auth.guard.ts # JWT 认证守卫
├── common/guards/redis-token-auth.guard.ts # Redis-Token 认证守卫
└── common/decorators/auth.decorator.ts # Public/Permissions 装饰器下一步:
