Authentication & Authorization Implementation Patterns
该技能用于构建安全、可扩展的身份认证与授权系统,采用行业标准模式与最佳实践。
适用场景(Use this skill when)
- 实现用户认证系统
- 保护 REST 或 GraphQL API
- 添加 OAuth2/社交登录或 SSO
- 设计会话管理或 RBAC
- 排查认证或授权问题
不适用场景(Do not use this skill when)
- 仅需要 UI 文案或登录页样式
- 任务仅为基础设施且不涉及身份问题
- 无法更改认证策略或凭据存储
指令(Instructions)
- 定义用户、租户、流程和威胁模型约束。
- 选择认证策略(会话、JWT、OIDC)与令牌生命周期。
- 设计授权模型与策略执行点。
- 规划密钥存储、轮换、日志与审计要求。
- 如需详细示例,打开 resources/implementation-playbook.md。
安全(Safety)
- 绝不记录密钥、令牌或凭据。
- 对密钥强制实施最小权限与安全存储。
资源(Resources)
- resources/implementation-playbook.md,包含详细模式与示例。
示例(Worked example) 输入:一个 Express 应用接受用户登录并保留登录前会话 ID。读取随附手册,在凭据验证后重新生成会话,仅保存必要的身份字段,并验证旧 Cookie 无法访问 /api/profile。同时测试登录失败、登出和存储故障。预期:成功登录会更改会话 ID;登录失败不授予任何访问权限。
输入与前置条件(Inputs and prerequisites) 记录已安装的框架/SDK 版本、身份提供方、租户模型、凭据存储和测试环境。提供项目专属的数据库适配器与请求模式;示例为集成草图,并非可运行的身份服务。
限制(Limitations)
- JWT 验证并不建立资源所有权;需在读取和写入时强制实施租户与对象策略。
- 刷新令牌轮换需要原子持久化与并发测试;仅凭签发示例并不提供这些能力。
- Cookie 标志不能替代 CSRF 防护,安全 Cookie 行为需要在实际 HTTPS/代理配置下测试。
- 提供方集成与密码策略必须对照当前一手文档和应用的威胁模型进行检查。