登录认证
会话模式
系统支持两种会话模式,通过 .env 中的 SESSION_TYPE 切换:
- JWT(默认)
- Redis-Token
对应认证类(开发环境默认在 config/settings/dev.py 中按 SESSION_TYPE 注入):
- JWT:
apps.auth.utils.jwt_authentication.VersionedJWTAuthentication - Redis-Token:
apps.auth.utils.redis_token_authentication.RedisTokenAuthentication
强制下线(tokenVersion)
适用场景:禁用用户、修改密码等高危操作需要立即使存量 token 失效。
机制要点:
- 登录签发 token 时写入
tokenVersion - 鉴权时实时比对 token 内版本与 Redis 最新版本
- 递增 Redis 版本号即可让历史 token 失效
Redis Key:auth:user:token_version:{userId}
代码位置:apps/auth/utils/jwt_authentication.py
