明确项目独立账户与共用 Google 验证服务 [skip ci] #2
@@ -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 的衬线默认按用户现代简洁偏好及选定主题调整。
|
||||
|
||||
@@ -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。开发预览已启动并完成桌面/手机浏览器检查:
|
||||
|
||||
@@ -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 条目,追加新项目:
|
||||
|
||||
Reference in New Issue
Block a user