SuperAPI AI 工具集

session-management

通用与其它

查看项目

更新于 10-15 21:33

技能介绍

用途:实现安全的会话管理,处理令牌签发、存储与刷新,适用于构建身份认证系统。

主要能力:使用 jsonwebtoken 生成访问令牌(含 userId、role、type,1 小时过期)与刷新令牌(含 userId、type,7 天过期),签名分别使用 JWT_SECRET 与 REFRESH_SECRET;用 Redis 的 SessionStore 类创建和存储会话,sessionId 由 crypto.randomUUID 生成,会话数据写入 sessions:userId 哈希并设置 7 天过期,支持 invalidateAll 删除某用户全部会话;通过 express-session 配置 Cookie(name、secret、cookie 的 httpOnly、secure、sameSite、maxAge、domain,以及 resave、saveUninitialized);提供 /auth/refresh 刷新接口,从 Cookie 读取 refreshToken,校验签名与 type,查询用户后重新签发令牌。

使用方式:安装并引入 jsonwebtoken、redis、express-session、crypto;配置环境变量 JWT_SECRET、REFRESH_SECRET、SESSION_SECRET、NODE_ENV;按上述代码结构调用 generateTokens、SessionStore、session 中间件和刷新路由。

安全要求:仅使用 HTTPS;Cookie 设置 httpOnly 与 sameSite;实现合理的令牌过期;每个环境使用强且唯一的密钥;每次请求校验签名。禁止:在令牌中存储敏感数据、通过 URL 参数传输令牌、使用弱或共享密钥、跳过签名校验。

限制:资料未提供具体依赖版本、错误处理细节、并发或分布式部署建议,也未说明与其他认证方式的兼容性。