安全与备份
- 浏览器会话使用
HttpOnly、Secure、SameSiteCookie,并绑定 CSRF 校验。 - 管理与账户接口使用同源 Cookie,不接受旧 Bearer 作为管理凭据。
- 认证入口在时钟异常时失败关闭(503),避免过期或错乱的令牌被接受。
- 所有管理写入经过访问代次与审计,不绕过身份治理。
- Access Token 使用
typ=at+jwt,与 ID Token 明确区分。
RSA 签名密钥
Section titled “RSA 签名密钥”- 生成新的 RSA 私钥并写入新的文件路径。
- 更新配置中的
oidc.rsa_private_key_path。 - 滚动重启实例;JWKS 会发布新公钥。
- 旧令牌在有效期内仍可被验证,过期后移除旧密钥。
Reader 凭据
Section titled “Reader 凭据”Reader 用于内省。轮换时先新增凭据并让调用方切换,再撤销旧凭据; 避免在切换窗口内出现内省失败导致保护 API 全部拒绝。
客户端 secret
Section titled “客户端 secret”通过管理控制台显式轮换,配置中的 bootstrap 条目不会覆盖已有 secret。
- PostgreSQL 逻辑备份(保留自定义格式,便于选择性恢复)
- RSA 私钥与配置文件(单独加密归档,与数据库备份分开存放)
pg_dump -Fc -d yufu > yufu-$(date +%F).dump定期在隔离环境恢复备份并验证:
- Discovery 与 JWKS 可访问
- 管理员可登录
- 已注册客户端与授权关系完整
- 会话与撤销状态符合预期
/api/v1/health/ready:认证时钟就绪状态- 登录失败率、内省失败率、后通道投递失败率
- 数据库连接池使用率与慢查询
- 时钟样本一致性与误差
后通道投递失败
Section titled “后通道投递失败”2xx 只表示对端接受通知,本地授权撤销在此之前已经生效。投递失败应重试并记录,
不要回滚本地撤销。
保护 API 必须失败关闭。恢复后按 2 秒 / 5 秒规则重新建立缓存,不要延长旧结果的 TTL。
认证入口返回 503 时,先修复 NTP 可达性与来源一致性,不要临时关闭检查。
服务无法完成认证时保持失败关闭;恢复后确认迁移版本与会话状态,再接入流量。