返回 Bug 清单
BUG-1014project-29高已修复backend-auth

SSO Phase 2 — authorize-direct JSON 端点 + SameSite:none + userinfo alias

发现:2026-10-09验证:2026-10-09置信度:70%

症状

commit 7e4d054ca16e (2026-09-25) fix(uc): SSO Phase 2 — authorize-direct JSON 端点 + SameSite:none + userinfo alias

根因

commit message 描述: fix(uc): SSO Phase 2 — authorize-direct JSON 端点 + SameSite:none + userinfo alias

修复方案

修复 90 行,删除 10 行。改动文件: src/app/api/cognx/auth/callback/route.ts, src/app/api/v1/auth/authorize-direct/route.ts, src/app/api/v1/auth/userinfo/route.ts, src/lib/uc/handlers.ts, src/lib/uc/oauth-http.ts

错误签名

fix(uc): SSO Phase 2 — authorize-direct JSON 端点 + SameSite:none + userinfo alias fetch redirect:'manual' 永远返回 opaque response(浏览器安全策略),无法读 Location header。
SameSite:Lax 阻止 fetch/XHR 带 cookie,只有顶层导航才带。

新增:
- GET /api/v1/auth/authorize-direct — 返回 JSON {authenticated, code},专为 fetch 设计
- GET /api/v1/auth/userinfo — alias 到 /api/auth/userinfo(v1 client 调这个)

修复:
- 10 处 cookie sameSite:'lax' → 'none'(handlers.ts 7 + oauth-http.ts 1 + callback 2)
  - prod https 下 Secure:true 已有(ctx.cookieDomain 统一处理

技术信息

来源项目

project-29

涉及文件

src/app/api/cognx/auth/callback/route.ts, src/app/api/v1/auth/authorize-direct/route.ts, src/app/api/v1/auth/userinfo/route.ts +2

标签

git-sweep, auto-ingested, project-29, mcp-reported, source-agent