会话生命周期看什么
会话生命周期覆盖四件事:空闲超时(多久无操作失效)、绝对超时(无论活跃与否的最长存活时间)、注销(服务端是否真的销毁会话)、多端与并发登录策略。常见误判是把“页面跳回登录页”当作注销成功——那只是前端跳转,服务端会话可能仍然有效。
基本信息
| 检查点 | 空闲超时、绝对超时、注销、多端登录、令牌刷新 |
|---|---|
| 验证方式 | 注销后用原标识重放请求;静置超过阈值后重试 |
| 判定标准 | 服务端拒绝已注销或已超时标识,返回未认证状态 |
| 适用平台 | Web 会话、移动端 Token、API 网关签发的访问令牌 |
典型使用场景
- 金融、政务类系统上线前核查超时策略是否与合规要求一致
- 移动端评估中确认令牌刷新与失效逻辑
- 多端并发的业务系统核查异地登录与挤下线策略
- 事故复盘时确认被盗令牌的有效窗口期
- 运维侧核查会话存储(Redis/数据库)的清理机制
验证步骤
验证步骤
curl -isS -b jar.txt https://app.example.com/api/me # 注销前确认已认证
curl -isS -b jar.txt -X POST https://app.example.com/logout # 执行注销
curl -isS -b jar.txt https://app.example.com/api/me # 用原标识重放:应为未认证而不是 200
# 空闲超时:静置超过阈值后再重放一次,并记录首次失效的时间点检查点与期望
| 检查点 | 期望值参考 | 异常表现 |
|---|---|---|
| 空闲超时 | 按业务风险设定,管理面更短 | 数小时不操作仍保持登录 |
| 绝对超时 | 存在固定上限 | 会话可无限续期 |
| 注销 | 服务端立即失效 | 重放仍返回业务数据 |
| 多端策略 | 按业务约定限流或允许并存 | 无任何限制与提示 |
| 令牌刷新 | 刷新后旧令牌失效 | 新旧令牌可同时使用 |
修复视角:会话状态保存在服务端,注销与超时后统一致失效;前端清理本地存储只是体验优化,不能作为失效手段。
超时时间要与业务风险挂钩:管理后台、支付确认页这类高敏场景通常要求更短的空闲超时,并在临近失效时给出续期提示。