SuperAPI AI 工具集

auth-implementation-patterns

安全与审计

查看项目

更新于 10-16 00:30

技能介绍

用途:该技能提供一套认证(AuthN)与授权(AuthZ)的工程实现模式,用于在应用中搭建登录、令牌、会话、第三方登录和权限控制体系。适用场景包括实现用户认证系统、保护 REST 或 GraphQL API、接入 OAuth2/社交登录、实现 RBAC、设计会话管理、迁移认证系统、调试认证问题,以及实现 SSO 或多租户。

核心概念:认证回答“你是谁”,涉及身份验证、凭证签发与登录登出;授权回答“你能做什么”,涉及权限检查、RBAC、资源归属校验与策略执行。认证策略分为会话式(服务端保存状态、Cookie 携带会话 ID)、令牌式(JWT,无状态、可横向扩展、可携带声明)和 OAuth2/OpenID Connect(委托认证、社交登录、企业 SSO)。

主要能力:文中给出 JWT 生成与校验、Bearer 令牌中间件、访问令牌与刷新令牌双令牌流程,刷新令牌需哈希后存库并支持吊销与全设备登出;Express 会话配置示例使用 Redis 存储,Cookie 设置 secure、httpOnly、sameSite 等;Passport.js 的 Google、GitHub OAuth2 策略与回调流程;基于角色层级与基于权限两种 RBAC 实现,以及资源归属校验中间件;安全实践包括 bcrypt 密码哈希与强度校验、登录与 API 限流。

使用方式:示例基于 Node.js/Express 生态,涉及 jsonwebtoken、express-session、connect-redis、redis、passport 及相关策略、bcrypt、zod、express-rate-limit 等库,通过中间件在路由上组合 authenticate、requireRole、requirePermission、requireOwnership 等函数。必要命令与代码需按原文形式使用,本技能未提供独立安装命令或包管理指令。

限制:资料为模式示例,未给出具体项目集成步骤、数据库 schema 迁移方案、测试方法或性能数据;示例中的 db、hash、verifyPassword 等为占位实现,需自行提供。未提供收费、价格或平台支持信息。