用途:为 Web 应用实现安全认证模式,涵盖 JWT 令牌、会话、OAuth 与密码处理,适用于添加登录/登出功能、基于令牌的认证、集成 OAuth 提供商、密码哈希与重置、会话与 Cookie 管理。
主要能力:JWT 方面提供访问令牌与刷新令牌的生成、校验(含签发者校验与刷新令牌类型校验),以及认证中间件 authenticate、可选认证 optionalAuth 与基于角色的 authorize;密码方面使用 Argon2id 哈希与校验,并提供强度校验(长度 8 到 128、含大小写字母与数字);会话方面提供 Cookie 配置(httpOnly、生产环境 secure、sameSite lax、7 天)与内存 SessionStore,生产建议改用 Redis;CSRF 方面提供令牌生成与针对非 GET/HEAD/OPTIONS 请求的校验中间件;OAuth 方面内置 Google 与 GitHub 配置,提供授权 URL 生成、授权码换取令牌与获取用户信息,需校验 state;还包含登录速率限制(5 次失败、15 分钟窗口、30 分钟锁定)与安全响应头中间件。
使用方式:按资料中的代码引入相关模块,配置 config.jwt 的 secret、refreshSecret、accessExpiresIn、refreshExpiresIn、issuer,并通过环境变量提供 OAuth 客户端凭据与 APP_URL;在认证路由与中间件中组合上述函数。
限制:资料未提供具体版本要求、依赖安装命令、收费与部署方式,这些暂未提供;内存 SessionStore 与登录限制器仅适合示例,生产需替换为持久化存储。