feat(auth): 服务端托管 Google OAuth;修复未解锁 vault 时 bootstrap
- API:桌面登录 session、Google 托管回调与轮询 - Desktop:轮询登录;bootstrap 在 vault 未解锁时不返回 shell,避免跳过主密码 - 文档与 deploy/.env.example 对齐 GOOGLE_OAUTH_* 与 SECRETS_PUBLIC_BASE_URL
This commit is contained in:
19
AGENTS.md
19
AGENTS.md
@@ -113,18 +113,23 @@ secrets/
|
||||
当前登录流为 **Google Desktop OAuth**:
|
||||
|
||||
- 桌面端使用系统浏览器拉起 Google 授权
|
||||
- 使用本地 loopback callback
|
||||
- 使用 `PKCE`
|
||||
- 桌面端换取 Google token 后调用 API 的桌面登录接口
|
||||
- API 服务端持有 Google OAuth client 配置并处理 callback / token exchange
|
||||
- desktop 创建一次性 login session,打开托管登录页后轮询状态
|
||||
- API 校验 Google userinfo 后发放本地 device token
|
||||
|
||||
桌面端优先读取:
|
||||
官网 DMG 正式分发时,服务端至少需要配置:
|
||||
|
||||
- `GOOGLE_OAUTH_CLIENT_FILE`
|
||||
- `SECRETS_PUBLIC_BASE_URL`
|
||||
- `GOOGLE_OAUTH_CLIENT_ID`
|
||||
- `GOOGLE_OAUTH_CLIENT_SECRET`
|
||||
- `GOOGLE_OAUTH_REDIRECT_URI`
|
||||
|
||||
默认开发文件名:
|
||||
推荐约束:
|
||||
|
||||
- `client_secret_738964258008-0svfo4g7ta347iedrf6r9see87a8u3hn.apps.googleusercontent.com.json`
|
||||
- `SECRETS_PUBLIC_BASE_URL` 使用用户浏览器实际访问的 HTTPS 官网地址
|
||||
- `GOOGLE_OAUTH_REDIRECT_URI` 配置为 `${SECRETS_PUBLIC_BASE_URL}/auth/google/callback`
|
||||
- `GOOGLE_OAUTH_CLIENT_SECRET` 只保留在服务端环境变量或密钥管理系统中,不入库
|
||||
- Google Cloud Console 中登记的 callback URL 必须与 `GOOGLE_OAUTH_REDIRECT_URI` 完全一致
|
||||
|
||||
## MCP
|
||||
|
||||
|
||||
Reference in New Issue
Block a user