用途:面向 TanStack Start 的服务端认证实现,覆盖会话存储、Cookie 签发、OAuth 流程、密码重置加固、CSRF 与限流。路由侧(_authenticated 布局、beforeLoad 重定向、RBAC)另见 router-core/auth-and-guards。
主要能力:用 HttpOnly、Secure、SameSite、__Host- 前缀的 Cookie 保存不透明会话 ID 或签名/加密令牌;通过 createMiddleware 集中加载会话,在服务端函数上以 .middleware([authMiddleware]) 强制鉴权;登录时校验密码哈希(用户不存在也走 dummy hash 以对齐耗时)并轮换会话;登出撤销会话并清 Cookie;OAuth 授权码流程生成一次性 state 与 PKCE verifier 存入短时签名 Cookie;密码重置始终返回相同响应以防用户枚举;非 GET 请求校验 Origin;按 IP 对登录等端点做滑动窗口限流。
必要用法:会话 Cookie 设置 HttpOnly、Secure、SameSite=Lax、Path=/、Max-Age,并使用 __Host- 前缀;在 .handler() 或中间件 .server() 内读取 Cookie 与环境变量,不要在模块作用域读取(Cloudflare Workers 等边缘运行时模块级 env 为 undefined);每个接收输入的服务端函数使用 .validator();对工作区等标识符除校验格式外,还需按会话主体复查成员关系。
限制与注意:路由守卫只是页面 UX,不构成数据安全边界,RPC 可被直接调用;形状校验不等于授权;避免基于邮箱是否存在返回不同响应;会话需在登录、登出、改密、角色变更时轮换。资料未提供具体依赖版本、安装命令与完整项目配置。