SuperAPI AI 工具集

auth-implementation-patterns

编程与开发

查看项目

更新于 10-16 03:14

技能介绍

用途:该技能面向认证(AuthN)与授权(AuthZ)系统的实现,提供行业常见模式与最佳实践,适用于搭建用户登录、保护 REST 或 GraphQL API、接入 OAuth2/社交登录、实现基于角色的访问控制(RBAC)、设计会话管理、迁移认证系统、排查认证问题以及实现 SSO 或多租户。

主要能力:区分认证与授权;覆盖会话式、JWT 令牌式、OAuth2/OpenID Connect 三类认证策略。JWT 部分给出令牌生成与校验、访问令牌与刷新令牌流程、刷新令牌入库哈希存储、撤销单个或全部令牌、Express 中间件挂载用户信息。会话部分给出 express-session 配合 Redis 存储、登录登出、受保护路由与 Cookie 安全选项。OAuth2 部分以 Passport.js 的 Google、GitHub 策略为例,展示查找或创建用户及回调后签发 JWT。授权部分包含角色层级 RBAC、基于权限的访问控制、资源归属校验三种模式。安全实践包含密码强度校验与 bcrypt 哈希、登录与 API 限流。

使用方式:资料以 TypeScript/Express 代码示例呈现,需按项目技术栈改写;示例依赖 jsonwebtoken、express-session、connect-redis、redis、passport 及对应策略、bcrypt、zod、express-rate-limit 等库,密钥与连接串通过环境变量注入,如 JWT_SECRET、JWT_REFRESH_SECRET、SESSION_SECRET、REDIS_URL。

适用场景:需要为 Web 或 API 服务加入登录、令牌刷新、社交登录、角色与权限控制、会话存储与限流时可直接参考。

限制:资料未提供安装命令、版本要求、完整项目结构、测试方式、性能数据或收费信息;示例中的数据库接口为示意写法,需替换为实际数据层实现。