生产注意事项

  • 请不要轻视安全问题,这是一个永远永远都要放心上的问题

  • 请结合该篇一起阅读:

必备要求

  1. 全网 HTTPS,全网 HTTPS,全网 HTTPS

  2. 不要明文存储用户密码,不要明文,不要明文(前端 MD5 后再传输)

  3. Cookie 的 httpOnly 和 secure 都为 true

可以额外改造的

  1. Token 绑定 IP 和 User-Agent

  2. 客户端必传 state 防止 CSRF

  3. 增加多因素认证

  4. 增加异地登入审查

  5. 分析异常登入记录

关于 Client 信息管理

  • 在 TKey Server 中有一个类:ApplicationTestDataInitRunner.java 会在本地开发环境、测试环境生成一个测试专用的 Client

  • 如果你已经准备上对外测试、生产记得梳理下 Client 的管理。默认是应该在 TKey Management 项目中进行管理 Client,而 TKey Server 只是读取 Client

  • TKey Management 中也有一个类:ApplicationTestDataInitRunner.java 会在本地开发环境、测试环境启动的时候读取 H2 数据库,初始化 Client 到 Redis 中

  • 以上两个人类都没有强加在 Prod 环境,担心开发者无意识地操作,造成生产事故,所以大家如果需要这个初始化,需要自己评估,并且开启在 Prod 环境下