本提交重构了全栈的认证与安全体系,包含以下核心变更: 1. **后端安全增强**: - 使用常量时间比较修复CSRF校验时序漏洞 - 重构refresh token存储为哈希+密文,支持轮转宽限期与盗用检测 - 新增cookie前缀自动配置,支持__Host-前缀强化生产环境安全 - 优化登出逻辑为单设备登出,合并用户信息与未读通知接口 - 增加数据库迁移脚本,兼容旧版refresh token数据升级 - 新增定时清理过期refresh token任务 2. **前端安全与体验优化**: - 新增cookie工具库,统一管理认证cookie名与转发逻辑 - 修复开放重定向漏洞,实现安全跳转校验 - 重构SSR请求逻辑,仅转发必要的access token cookie - 优化middleware轮转逻辑,修复并发请求去重与边缘部署兼容性 - 修复登录态静默校正逻辑,兼容旧版cookie路径与名称 - 新增环境变量示例配置文件 3. **工程化改进**: 修复Next.js类型文件导入路径,统一前后端配置与命名规范
12 lines
693 B
Plaintext
12 lines
693 B
Plaintext
# 前端环境变量示例:复制为 .env.local(本地)或在部署平台配置
|
||
# 客户端交互请求走同源相对路径 /api/*(由 next.config.ts rewrite 代理),
|
||
# 以下地址仅用于 SSR 服务端渲染与 middleware 静默轮转直连后端。
|
||
|
||
# SSR/浏览器构建均可读;本地开发默认值即 http://localhost:3001
|
||
NEXT_PUBLIC_API_URL=http://localhost:3001
|
||
|
||
# 仅服务端可见(middleware 与 SSR 优先使用)。
|
||
# 部署到 Cloudflare Workers 等边缘环境时【必须】显式配置为后端 HTTPS 地址,
|
||
# 边缘运行时不存在 localhost,留空会导致 SSR 登录态轮转直接放行失效。
|
||
# BACKEND_URL=https://your-backend.example.com
|