客户建站平台开发说明书
项目计划 →
01|身份与权限

账号、OA权限映射与客户授权

内部员工通过OA登录,客户使用平台账号;新系统只维护建站服务范围和客户站点权限。

账号体系

内部员工与外部客户使用两套身份来源

内部员工由OA认证,客户账号由建站平台认证;两者最终都进入统一授权中间件。

身份认证来源平台保存权限组成
内部员工OA OAuth2/OIDC、SAML或企业现有SSOoa_user_id、姓名/部门审计快照、状态、最近同步时间;不保存OA密码OA身份有效 ∩ 平台角色映射 ∩ 客户/站点服务范围 ∩ 高风险条件
客户企业主建站平台邀请激活,可选邮箱/手机+MFAuser、tenant_membership、企业主标识、设备和会话客户租户范围 ∩ 角色 ∩ 站点范围 ∩ 套餐功能
客户编辑/数据查看企业主邀请或总后台代邀membership、角色、站点授权和有效期只能访问被授权站点;编辑、发布、域名、数据权限分开
系统服务账号平台签发的服务凭据client_id、scope、密钥哈希、轮换时间最小Scope、IP/网络限制和调用配额
OA接入

OA只提供身份和内部业务引用

接口/事件调用方向用途失败策略
SSO authorize/token/userinfo平台→OA员工登录并取得稳定oa_user_id、部门、角色声明OA不可用时不允许新登录;已登录会话按风险设置短期宽限
员工状态/角色变更WebhookOA→平台禁用员工、部门/角色变化后撤销或重算权限签名、时间戳、event_id幂等;Webhook失败由定时对账补偿
员工/组织增量查询平台→OA每日或小时级权限对账,不做全量人员复制只缓存授权必需字段;同步批次可重跑
内部项目查询平台→OA校验oa_project_id、客户关联、负责人和状态;展示跳转链接OA项目不可用时保留最近快照并禁止新增高风险发布授权
站点状态摘要回传(可选)平台→OA回传站点URL、发布状态、到期日和平台跳转链接异步重试;失败不影响建站主流程
必须在M0确认
OA实际支持哪一种SSO协议、用户唯一ID是否永久稳定、角色声明格式、项目接口、Webhook签名、限流、超时、测试环境和停机窗口。若OA接口不完整,使用“OA适配器”统一封装,不让业务代码直接依赖OA字段。
平台角色

不复制OA角色管理,只维护角色映射和服务范围

平台角色典型OA来源客户/站点范围主要能力
平台超级管理员OA指定管理员角色全平台;使用需二次验证平台配置、模板发布、资源、审计;不可绕过敏感操作审计
客户运营管理员OA运营主管角色被分配客户集合/部门服务范围开通客户、分配套餐、查看站点、协助建站、发起发布
建站制作人员OA运营/设计/技术角色被分配站点集合编辑内容、模板实例、预览;发布需独立权限
审核人员OA内容/合规角色区域或站点类型范围审核内容、模板和发布单
运维人员OA技术/运维角色部署资源或全部站点发布、回滚、域名、证书、备份和告警处理
客户企业主平台客户账号本租户全部站点成员、站点、域名、发布申请和数据
客户站点管理员平台客户账号指定站点内容、页面、成员授权;是否可发布由企业主授予
客户内容编辑/数据查看平台客户账号指定站点分别只编辑内容或只查看询盘/统计
SUPPORT-SESSION

模拟客户与协助会话

P0
使用角色:客服、运营、授权管理员
页面:总后台客户详情 → 发起协助;协助会话审计
模块目标

内部员工在客户授权或工单场景下进入客户视角协助操作。

主流程

填写原因/工单→权限校验→创建最长30分钟会话→顶部持续提示真实员工和客户身份→结束。

关键规则
  • 禁止支付、改密码/MFA、生成API密钥、域名解析、删除站点和全量导出。
  • 记录真实主体、客户主体、起止、页面路径、动作和结果。
  • 客户可查看近期协助记录,敏感操作仍需要客户确认。
异常边界
  • 员工权限被收回时立即终止协助会话。
  • 浏览器关闭不代表会话结束,服务端到期强制失效。
核心数据

impersonation_session、support_reason、audit_log

接口 / 事件

POST /support-sessions;DELETE /support-sessions/{id};support_session.ended

验收标准
  • 被禁止动作在页面和API两层拒绝。
  • 会话到期、员工禁用或主动退出后令牌无法继续使用。
  • 审计能够还原完整操作链。