上线检查清单

上线前逐项自查

认证系统上线前,把下面每一项都过一遍。它来自前面所有章节踩过的坑。

密码与凭证

  • 密码是否使用 bcrypt / scrypt / Argon2 等慢哈希 + 盐?
  • 是否保存算法版本号,支持渐进式升级?
  • 高敏数据(Refresh Token / MFA 备用码)是否加密或哈希存储?

登录安全

  • 登录失败是否同时按账号、IP、设备维度限流?
  • 是否使用指数退避 / 验证码升级,而不是一刀切锁死?
  • 错误提示是否统一,不泄露「账号是否存在」?
  • 高风险登录是否触发风控或 MFA?

令牌与会话

  • Access Token 是否短期有效?
  • Refresh Token 是否可撤销、可轮换、绑定设备?
  • 会话是否支持多设备管理和强制下线?
  • 改密 / 冻结后是否撤销旧会话(版本号方案)?

第三方与联邦

  • OAuth 是否校验 state、redirect_uri 白名单?
  • 是否在服务端换 token,不暴露 client_secret?
  • SSO 是否定义了全局会话、本地会话和登出策略?
  • scope 是否最小授权?

风险与审计

  • 高风险操作是否触发 MFA 或重新认证?
  • 登录 / 刷新 / 撤销 / MFA 是否有审计日志?
  • 异常登录是否进入风控或告警系统?
  • MFA 服务、令牌服务不可用是否有降级策略?

上线后的持续动作

检查清单不是一次性的。上线后还要:

  • 监控:登录失败率、MFA 触发率、撤销事件数。
  • 告警:撞库模式、异地登录激增、IdP 异常。
  • 演练:定期模拟账号被盗、会话泄露,验证撤销和审计是否真能兜住。
  • 审计:定期复盘安全事件,更新检查清单。

这门课的最后一块

到这里,我们已经走完了「从账号密码登录到生产级身份平台」的完整旅程。回顾与总结页会把这套方法沉淀成可复用的设计原则和关键决策,帮你带着它去设计下一个系统。

发现内容有问题?

告诉我们哪里需要改进。