用途:在新建或已有应用中设计并实现认证与授权,适用场景包括用户登录系统、为 REST 或 GraphQL API 添加认证层、基于角色的访问控制(RBAC)、将现有认证迁移至 JWT 或 OAuth,以及接入 Google、GitHub、Microsoft 等社交登录(SSO)。
输入信息:必填为认证方式(JWT、Session 或 OAuth 2.0)、后端框架(如 Express、Django、FastAPI、Spring Boot)、数据库(如 PostgreSQL、MySQL、MongoDB)与安全要求(密码策略、令牌有效期等);可选为 MFA/2FA 支持(默认关闭)、社交登录提供方、会话存储(如 Redis、内存)与刷新令牌(默认启用)。
主要能力:按步骤设计用户与认证数据模型;实现密码哈希与校验(bcrypt 或 argon2,salt rounds 至少 10,并校验密码强度);生成与验证 JWT 访问令牌(短有效期,如 15 分钟)和刷新令牌(如 7–30 天),密钥通过环境变量管理,载荷仅含 user_id、role 等最少信息;编写认证中间件,从 Authorization 头提取 Bearer 令牌、验证并挂载用户信息,返回 401/403;实现注册、登录、刷新令牌、登出与当前用户信息等接口;提供项目目录结构、.env.example 与 README 等交付格式。
限制与约束:禁止明文存储或打印密码,必须使用 bcrypt/argon2 等成熟算法;禁止硬编码 JWT 密钥,需加入 .gitignore 并提供 .env.example;令牌载荷不得含密码、卡号等敏感数据;建议对登录接口限流、生产环境强制 HTTPS、限制 CORS 来源并校验输入。具体安装与运行步骤以资料中给出的内容为准,其余未提供的细节暂未说明。