用途:该技能面向 TanStack Start 服务端认证实现,用于保护数据/API 边界。核心原则是服务端函数、服务端路由及所有涉及私有数据的 API 端点必须在 handler 或中间件内强制鉴权;路由守卫只用于页面 UX,不构成数据安全边界。校验客户端标识的形状(如 UUID)不等于授权,仍需按会话主体复核成员关系;会话与 Cookie 应在 .handler() 或中间件 .server() 内读取,而非模块作用域。
主要能力:会话 Cookie 建议使用 HttpOnly、Secure、SameSite=Lax/Strict、__Host- 前缀、Path=/ 与有限 Max-Age;通过 getRequestHeader/setResponseHeader 读取与写入 Cookie,解析时仅按首个等号切分。用 middleware 集中加载会话,挂载 authMiddleware 到需要登录的服务端函数,并在 handler 中按 context.session.userId 过滤数据。登录时使用 .validator() 校验输入、以 bcrypt/scrypt/Argon2 校验密码,用户不存在也要比对虚拟哈希并返回同一提示;权限变化时销毁旧会话并重新签发。OAuth 授权码流程生成一次性 state 与 PKCE verifier,存入短时签名 Cookie,回调校验 state 不匹配即中止。密码重置始终返回相同响应,避免枚举与时序泄漏。非 GET 请求使用 CSRF 或同源校验(比较完整 origin),并对登录等端点按 IP 限流。记录认证事件并测试未认证直接调用应被拒绝。
限制:资料未提供安装命令、依赖版本、数据库或限流器实现细节及定价信息。