问题域/PD-155

认证与会话管理

Authentication & Session Management

解决用户身份验证、会话生命周期、OAuth 集成和 API 鉴权问题

子问题

1.OAuth 2.0 流程实现

2.会话 cookie 安全配置

3.CSRF state 签名验证

4.API Key 鉴权

5.CORS origin 白名单

6.OAuth state 上下文传递(origin/redirectUri 恢复)

7.Session 过期与服务端主动撤销

8.新用户自动初始化(upsert + 默认订阅)

各项目的解法1 solutions

Signals

横向对比

维度ClawFeed
认证协议Google OAuth 2.0 + Authorization Code Flow
State 防护HMAC-SHA256 签名 payload + timingSafeEqual 验证
会话存储SQLite sessions 表 + randomBytes(32) hex ID
Cookie 安全HttpOnly + Secure + SameSite=Lax + 30天过期
API 鉴权Bearer Token API Key,与 Cookie Session 双轨并行
CORS 策略环境变量白名单,支持完整 URL 和纯 hostname 匹配
多用户隔离所有业务查询带 user_id 过滤 + 资源 ownership 检查
依赖复杂度零外部依赖,纯 node:crypto 实现

最佳实践

1.HMAC 签名 OAuth state 防 CSRF

2.timingSafeEqual 防时序攻击

3.HttpOnly+Secure+SameSite cookie

4.OAuth state 用 base64url(JSON).base64url(HMAC) 格式携带上下文

5.Session ID 用 randomBytes(32) 生成 64 字符 hex 确保不可预测

6.Bearer Token 和 Cookie Session 双轨鉴权互不干扰