SuperAPI AI 工具集

auth-implementation-patterns

编程与开发

查看项目

更新于 10-16 03:13

技能介绍

用途:该技能面向认证(AuthN)与授权(AuthZ)系统的实现,提供行业标准模式与最佳实践,帮助构建安全、可扩展的访问控制。适用场景包括实现用户认证系统、保护 REST 或 GraphQL API、添加 OAuth2/社交登录、实现基于角色的访问控制(RBAC)、设计会话管理、迁移认证系统、调试认证问题,以及实现 SSO 或多租户。

主要能力:区分认证与授权;覆盖会话式、JWT 令牌式、OAuth2/OpenID Connect 三类认证策略。JWT 部分包含令牌生成与校验、访问令牌与刷新令牌流程、刷新令牌的存储、轮换与撤销(登出、登出所有设备)。会话部分包含基于 Redis 的会话存储、Cookie 安全配置(secure、httpOnly、sameSite)、登录、鉴权中间件与登出。OAuth2 部分以 Passport.js 为例展示 Google、GitHub 登录与回调后签发 JWT。授权部分包含 RBAC 角色层级、基于权限的访问控制、资源所有权校验。安全实践包含密码校验与 bcrypt 哈希、登录与 API 限流。

使用方式:资料以 TypeScript/Express 代码示例呈现,涉及 jsonwebtoken、express-session、connect-redis、redis、passport、passport-google-oauth20、passport-github2、bcrypt、zod、express-rate-limit、rate-limit-redis 等依赖,并通过环境变量(如 JWT_SECRET、JWT_REFRESH_SECRET、SESSION_SECRET、REDIS_URL、GOOGLE_CLIENT_ID 等)配置密钥与连接。示例以中间件形式挂载到路由上,如 authenticate、requireRole、requirePermission、requireOwnership。

限制:资料未提供安装命令、版本要求、完整项目结构、测试方式、性能数据、收费或价格信息,也未说明具体支持的框架版本与部署平台,这些内容暂未提供。