全局登录、身份与平台权限
任一 OceanWay 平台登录,全平台识别同一身份
AUTH-G01 · 已确认的产品要求
2026-09-12 用户明确:login 是全局能力,任何一个平台登录后,所有平台都获得该用户的登录状态。 这是首期共同要求,不再作为是否采用 SSO 的待选项。登录入口可以出现在任何产品,身份与会话权威统一由 Core 承接;Console 负责账户管理与安全设置,不独占登录能力。
适用 Site、Console、Admin、Studio、Drama、Commerce;后续 OceanWay 产品接入同一协议。同一浏览器会话内完成一次登录后,切换或新打开任一平台无需再次输入凭据,已打开平台在状态同步或下次受保护请求时识别同一用户。不同设备或隔离浏览器会话仍需自行认证,不因知道账户名就自动登录。
Site 与 Console 的公开内容继续允许匿名阅读;已登录时显示统一账户入口和登录状态,公开页面不因此暴露私有 Key 或账单;Console 私有管理仍须服务端授权。公开内容不向共享页面缓存写入客户身份或私有数据。
登录状态与访问权限
全局登录只回答“当前是谁”,每个平台再判断“允许做什么”。客户登录后访问 Admin,应显示已登录但无后台权限,而不是再次要求用另一个平台账号登录。员工沿用同一身份体系,其后台角色与具体操作权限由服务端校验;敏感操作可要求验证当前身份,不应建立另一套账户。
企业专属账户、模型价格组、产品资源归属和员工权限分别建模。共享登录不授予他人的项目、Key、任务或价格,也不把模型 API Key 当作浏览器登录凭据。内部供应网关的隔离维护边界保持不变;其原生后台接入全局身份需单独设计,不能借客户登录开放供应维护权限。
用户流程
- 用户在任一平台点击登录或进入受保护操作,记录发起产品和允许的返回位置。
- 统一身份服务检查当前全局会话;已有会话则直接恢复身份,无会话才发起登录及所需挑战。
- 登录成功后返回发起平台原位置。目标平台取得相同用户标识,校验本平台访问权限。
- 切换其他平台无需再次登录;已打开页面重新聚焦或发起受保护请求时同步身份。不能依靠用户逐站点击“同步登录”。
- 失效、账号停用和撤销由统一身份事实驱动。页面同步延迟不能成为后端继续放行的依据;具体传播与缓存时限纳入接口验收。
建议默认退出结束当前浏览器对应的全局会话,各平台随之失效;“退出所有设备”作为另一个显式操作。退出范围、传播时限和多标签页切换账号的精确规则在会话协议中定稿,不将现有仅撤销本地 Session 的接口直接宣称为全局退出已实现。
实现边界
固定 new-api 已有登录会话、刷新、撤销、Token 鉴权和后台角色,作为实现基线;它不等于已经提供完整跨站身份服务。Core 维护统一主体、会话与撤销事实,Contracts 定义各产品消费的身份及会话协议。产品服务只建立受统一会话约束的本地访问上下文,不分别维护密码与独立账号真值。
默认实施方向是统一认证入口/服务,产品入口发起认证后返回原位置。按实际域名部署选择受控会话交接方式;跨站可使用绑定目标、短时、一次性授权码及服务端兑换,不把长期令牌放在跳转 URL。不能假设不同域名共享 Cookie,也不将“所有子站共享一枚长寿命 Cookie”当作产品要求。
OW-07/08 已有一次性授权码、目标注册、兑换及两个本地消费样例的限定实现。全局登录产品要求已确认;正式域名、Cookie/回调部署及六平台完整矩阵仍待验收。
验收矩阵
| 场景 | 预期 |
|---|---|
| 以每个平台为登录起点 | 成功后返回原位置;再访问其他平台不重复登录,主体标识一致 |
| 已打开多个平台,在任一处登录 | 其他页面聚焦或下次受保护请求时恢复同一身份,用户无需手工同步 |
| 普通客户进入 Admin | 保持已登录身份,拒绝后台数据和动作;不循环跳转登录 |
| Site / Console 公开区未登录与已登录 | 公开内容均可读;登录后账户入口状态一致,缓存不泄漏身份 |
| 错目标、过期或重复兑换 code | 拒绝恢复会话;非法回跳不离开允许目标 |
| 账号停用/撤销/切换账号 | 各平台按定义时限失效或更新,不残留前一账户的私有数据 |
| 刷新和身份服务故障 | 显示可恢复状态,不盲目重发支付或生成,不形成重定向循环 |
每个平台均作为起点和目标验证,不能只测 Console 到 Drama 就声称全平台支持。原型可模拟统一身份,但必须标明尚未真实联调。
当前代码进度
Core 已实现普通密码账户的登录/刷新/撤销/查询及 Key 读取保护,SQLite 与隔离 PostgreSQL 验证通过。当前使用 host-only 刷新 Cookie、独立签名域和数据库权威状态;已注册 Origin 的 CORS 只构成后端接入基础。跨站一次性授权码交接、BFF 委托及两个本地目标已有交付;上述六平台生产矩阵仍待验收。见用户与会话执行记录。