From b5ef6523599140ed1329c88d3bfd9be188b02ffc Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Sat, 7 Nov 2026 16:26:26 +0800 Subject: [PATCH] Clarify project accounts are independent of shared Google verification [skip ci] --- AGENTS.md | 2 +- README.md | 2 ++ docs/auth-integration.md | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index d797392..45936aa 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,7 +1,7 @@ # Thesisly 研迹 working agreements - 本项目使用 Next.js App Router、TypeScript、Tailwind CSS、shadcn/ui(Radix primitives)、Lucide 和 Sonner。用户明确授权本地 dev,随后仅撤回本地 build:允许按需启动 pnpm dev,禁止 pnpm build。不配置前端 CI/CD,不部署。用户最新要求本阶段暂不需要 CI:不新增或触发 CI。交付使用已核对的 Gitea [skip ci] 提交及 PR 标题标记跳过推送和 PR 同步事件,并核对本次 commit 未新增 Actions 运行;不删除或禁用共享工作流。 -- 仅通过 Foundry Core 共享后端管理身份。复用 Endoleap 的 PKCE、HttpOnly Cookie、闲置续期、退出撤销与同源校验;禁止把 token 发到客户端或 localStorage。 +- 各项目账户、会话和权限按 project 独立;同一 Google 身份在不同项目分别关联本项目账户。仅共用 Foundry Core 的认证实现、Google OAuth 配置及回调处理,不使用“共享账户”描述此架构。复用 Endoleap 的 PKCE、HttpOnly Cookie、闲置续期、退出撤销与同源校验;禁止把 token 发到客户端或 localStorage。 - 论文读取模式必须显式区分真实数据库样本与远程 API。不得把本地20条样本称为全库、最新或热门数据,不虚构摘要、代码仓库、会议决定或指标。 - 源数据只读;不复制整库,不从浏览器直连 SQLite 或持有数据库凭据。 - 阅读与文章列表优先,无 KPI 仪表盘。默认 Vignelli;Editorial、Tufte 可切换。UI Craft Editorial 的衬线默认按用户现代简洁偏好及选定主题调整。 diff --git a/README.md b/README.md index b7887b2..a5ed06a 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ 论文索引与阅读前端:Next.js App Router + TypeScript + Tailwind CSS;shadcn/ui Button组合模式基于Radix Slot与CVA,Lucide提供图标,Sonner提供复制/退出等反馈。不配置CI/CD,不部署,不创建新的业务后端。 +各项目拥有独立的账户和登录会话。Foundry Core 按 `project` 分别保存和校验这些记录;各项目仅复用 Google 身份验证配置、回调处理和认证实现。 + ## 本地开发 用户允许本地 dev,暂不执行本地 build。开发预览已启动并完成桌面/手机浏览器检查: diff --git a/docs/auth-integration.md b/docs/auth-integration.md index d7b6a32..ef79778 100644 --- a/docs/auth-integration.md +++ b/docs/auth-integration.md @@ -2,6 +2,12 @@ 复用 `/Users/zzyang/endoleap` 中已实现的 PKCE 和服务端会话模式。后端来源核对:Foundry Core 当前平台/认证源码、`internal/auth/auth.go`、`email.go`、`slack.go` 与 README 的 Browser session lifetime。 +## 项目独立账户 + +Thesisly、Endoleap 等项目各自拥有账户、会话和权限边界。Google 用于验证用户身份,Foundry Core 在当前 `project` 内查找或创建该项目的账户;同一个 Google 身份在不同项目分别对应各自的账户记录。 + +共用的是 Google OAuth 配置、回调处理和认证服务实现。账户查询以 `(project, provider, subject)` 定位,登录会话也必须匹配当前 `project`。Google 已有登录状态可以简化再次授权,各项目的应用账户和登录会话仍保持独立。 + ## 注册前端项目 英文品牌为 Thesisly;当前本地目录为 `/Users/zzyang/thesisly`,建议后端项目 ID 使用 `thesisly`。后端 Gitea Variables 中的 `FOUNDRY_PROJECTS` 应保留现有 JSON 条目,追加新项目: -- 2.52.0