SuperAPI AI 工具集

epic-auth

安全与审计

查看项目

更新于 10-15 21:38

技能介绍

用途:这是 Epic Stack 的认证技能指南,用于在项目中实现用户认证相关功能,包括登录、注册、登出流程,会话与 Cookie 管理,OAuth 提供商(GitHub、Google 等)配置,2FA(TOTP)、WebAuthn/Passkeys、邮箱验证和密码重置。

主要能力与约定:遵循 Epic Web 原则,强调最小权限(会话只存 userId,不存角色与权限,权限从数据库检查)和尽早失败(在 loader/action 开头立即校验认证与授权)。会话基于 Cookie,存于数据库,由签名 Cookie 标识,配置示例使用 createCookieSessionStorage,Cookie 名 en_session,sameSite 为 lax,httpOnly,secure 仅生产环境。提供 getUserId、requireUserId、requireAnonymous 等服务端工具,以及 useOptionalUser、useUser 等客户端钩子。OAuth 使用 remix-auth,回调中检查 connection,存在则建会话,邮箱已存在则关联账号,否则进入 onboarding。Passkeys 使用 @simplewebauthn/server 生成与验证认证选项,并更新 counter。2FA 使用 @epic-web/totp 的 prepareTOTP、verifyTOTP,登录时若用户启用 2FA 则先保存未验证会话并跳转验证。邮箱验证与密码重置通过 prepareVerification 生成 TOTP 与验证链接,再发送邮件。会话默认过期时间为 30 天,可删除单个或用户全部会话。

使用方式:按资料中的模式在对应路由的 loader/action 中调用上述工具与函数,并配置相应环境变量(如 SESSION_SECRET、GITHUB_CLIENT_ID 等)。

限制:资料未提供完整安装命令、依赖版本、具体收费或平台信息,部分代码示例被截断,实际实现需结合项目现状。