登录后显示头像,只覆盖登录流程的一部分。接入认证服务后,还要验证原会话何时失效、权限变化是否生效,以及账号停用后的访问行为。
以下使用隔离测试账号A/B及合成请求结果,没有真实令牌,本站未接入账号系统。测试应在自有或明确授权的环境执行;认证供应商身份记录与应用权限、会话及业务数据需要分别核对。
先列出应用约定
写明登录回调允许地址、会话模式、服务端授权入口、空闲/绝对过期约定、角色和资源归属、停用与删除的执行状态。JWT 解码只展示载荷,不能验证签名、有效期处理或权限执行;JWT 工具适合核对已脱敏的合成材料。
会话退出或到期需要核对服务端失效行为,权限检查需要覆盖实际请求。这些原则参考 OWASP 会话管理与 授权检查,复核于 2026-10-04。具体超时数值和供应商能力按项目确认。
验收矩阵:从页面到服务端
| 场景 | 记录的证据 | 未达到约定时 |
|---|---|---|
| 登录 | 回调结果、当前身份、受保护请求 | 不仅检查头像,核对后端身份 |
| 退出 | 退出响应、原会话再请求、另一标签页行为 | 原会话仍可读受保护数据时停止确认 |
| 到期 | 服务端时间、约定时限、到期前后请求 | 仅前端倒计时无效,保留服务端结果 |
| 权限变更 | A降权后新旧会话的相同操作 | 未按约定撤权时停止扩大发布 |
| 资源隔离 | A读取B资源的响应与数据范围 | 隐藏按钮不足以证明隔离 |
| 停用/删除 | 身份、会话、应用数据与异步任务状态 | 接受删除不等于清理完成 |
拒绝访问的具体状态码可以按接口契约为401、403或用于隐藏存在性的404,关键是服务端没有返回不允许的数据或执行操作;不要只根据一个状态码做安全结论。
成功样例:仅确认本次检查范围
合成演练:2026-10-04 10:00 +08:00,应用版本auth-demo
A登录:受保护请求返回A自己的模拟资料
A退出:原会话再请求被拒绝;另一标签页再操作也被拒绝
A降权:约定的撤权窗口后,原管理员操作被拒绝
A访问B订单:被拒绝,响应不含B的数据
结论:这组会话和权限检查符合约定;其他客户端仍待复查
保存请求条件和脱敏结果,不保存会话密钥、Cookie或原始Authorization头。账号权限变更还要核对缓存和撤销策略;在原客户端及新会话中复测,不能只重新登录一次。
失败样例:界面已退出,原会话仍可用
合成失败:退出页显示“已退出”
退出响应:成功
原会话读取受保护订单:200,返回订单数据
是否调用服务端会话撤销:未知
决策:停止确认退出验收;核对失效机制并同条件复测
这个观察说明退出后的访问不符合本例约定,尚不能确定是哪层配置导致。核对服务端会话、令牌撤销、缓存与供应商行为;不要靠清浏览器缓存掩盖旧会话仍可使用的问题。接口排查记录可以保存预期、实际观察与下一步。
账号删除需要单独记录状态
如果删除接口返回202,本例只记录请求已接受。另查账号是否已禁用、会话是否失效、业务数据和第三方副本的处理状态;出现异步失败或状态未知时保留待确认。这里是技术验收范围,不自动判断数据留存或合规义务。
对供应商选择、会话模型和尚未核实的撤销能力,填写选型记录;进入实现前可从认证资源目录查官方入口。停止与回退方案应说明谁恢复哪项配置,以及如何继续拒绝不允许的访问。本站的记录导出不会执行账号操作或替你判定安全通过。
