该技能面向需要实现认证与授权系统的开发者,资料将其定位为掌握JWT、OAuth2、会话管理和RBAC等实现模式的参考。核心区分认证(验证身份、签发凭据、管理登录登出)与授权(权限检查、RBAC、资源归属校验、策略执行)。
主要能力:一是令牌认证模式,展示JWT生成与校验、访问令牌短时效、刷新令牌流程、令牌存储与撤销、登出与撤销全部设备令牌、Express中间件挂载用户信息。二是会话认证模式,使用express-session与Redis存储,配置secure、httpOnly、sameSite等Cookie选项,给出登录、鉴权中间件、受保护路由和登出示例。三是OAuth2/社交登录,使用Passport.js接入Google与GitHub策略,查找或创建用户后签发令牌并重定向。四是授权模式,包含基于角色的层级判断、基于权限的校验、资源归属校验,并给出对应中间件与用法。五是安全实践,包括bcrypt密码哈希与Zod密码强度校验、注册流程、基于Redis的登录限流与API限流。
适用场景:实现用户认证、保护REST或GraphQL API、接入OAuth2/社交登录、实现RBAC、设计会话管理、迁移认证系统、排查认证问题、实现SSO或多租户。
限制:资料多为TypeScript/Node.js、Express、Passport、Redis、bcrypt等技术栈的示例,未提供依赖安装命令、数据库结构、部署要求、收费与价格;实际适用性取决于具体环境。