OEM / APPLICATION WORKSPACE
把自己的应用接到 OEM 节点
应用可以像 MuuZi 一样拥有独立官网、用户登录注册、聊天界面和产品后台。OEM 控制台负责节点、接入与授权;产品后台负责自己应用的内容、业务和管理员权限。
先分清三种账号
- 普通用户账号:属于所选节点,通过同一 Matrix 会话注册、登录和聊天。
- OEM 管理账号:管理企业购买的节点、应用入口和接入申请。
- 产品后台管理员:由应用创建和授权;可以使用独立密码,也可以显式关联 OEM 账号统一登录。相同邮箱不会自动合并账号。
每个应用与节点的入口
- 先在 Nexus 登记应用,完成公钥审核、OEM 接入申请和超管节点批准。
- OEM 打开「应用接入 → 全部应用与节点 → 官网与产品后台」。超管打开「应用与节点许可」对应节点的「产品后台与统一登录」。
- 填写官网、注册、登录、聊天、产品后台、后台账号管理及后台找回密码地址。未开发的入口留空,不填写假的可用地址。
- 保存后,可在同一面板直接打开应用各入口;标准节点登录与聊天入口也会显示。入口保存不代表页面、邮件、聊天或后台已经部署。
模块与部署方式
| 模块 | 怎样部署 | 怎样验收 |
|---|---|---|
| 官网 | 使用节点标准 OEM 官网,或独立托管自有官网。见官网部署教程。 | HTTPS 可访问,品牌与选择一致。 |
| 注册、登录、自动续期、改密、找回 | 在自己的客户端安装固定版本 @guduu/node-auth,配置获准节点和本机安全存储。注册及找回依赖节点邮件服务。 | 注册、登录、两轮续期、重启、专用测试账号改密及邮箱找回。 |
| 聊天 | 可以直接使用节点标准聊天页;自行开发界面时,使用登录模块同一会话与 Matrix SDK,参考包内 examples/matrix-client.js。无需建设第二套聊天服务。 | 会话续期不换设备;测试成员收发消息。跨节点通信另查联邦配置和房间权限。 |
| 产品后台 | 部署自己应用的管理站与业务后端,保留自己的管理员、角色、二次验证和账号恢复功能。 | 未授权用户不能进入;管理员能够修改或重置其本地密码。 |
| 关联 OEM 管理员 | 应用后端安装 @guduu/oem-admin-auth;精确回调与公钥审核后,显式关联已有管理员。 | 错误回调和重复凭据被拒绝;撤销关联、改密、停用或撤销批准后,会话失效。 |
下载固定接入包
- 用户注册登录模块 0.1.0:包含完整默认表单、自动续期和聊天连接示例。
- 产品后台统一登录模块 0.1.0:只安装在应用后端,不能放到浏览器。
- 版本、来源与 SHA-256 校验清单。下载后先核对摘要,再安装本地包并保留依赖锁文件;不要依赖浮动主分支。
统一管理员登录:首次配置一次
- 应用后端准备登录启动、精确回调和本地管理员关联接口。私钥只留在应用服务器受控配置(文件权限 0600),Nexus 仅持有公钥。
- 超管在应用登记里核对公钥,并在「产品后台与统一登录」填写回调后点击「核对并登记此回调」;OEM 在对应节点选择「关联 OEM 账号统一登录」,填写产品后台与两个登录地址,提交配置。
- 超管审核这一版入口配置。任一配置变更都会使旧批准和已有凭据失效,需要重新审核。
- Nexus 运维按正常发布流程部署完整 Platform,并设置固定公开 OEM HTTPS 地址
NEXUS_OEM_ADMIN_SSO_ORIGIN。未设置时明确显示尚未启用。仅发行域增量服务不提供这项功能。 - 由已经登录产品后台的管理员,验证其本地密码和二次验证后发起关联。应用按「签发方+OEM 主体+应用+节点」绑定,不能通过邮箱匹配,也不能自动创建超管。
- 关联后,从 OEM 面板进入产品后台可复用 OEM 身份;需要产品二次验证时仍应执行。首次跨应用进入会明确展示应用、节点与账号供确认。
统一登录只处理管理员身份。不会把 OEM 密码复制给产品,不会用 OEM 身份冒充节点普通用户,也不会自动开放跨节点聊天。目前主账号可以授权;合作伙伴成员不能代替企业主账号开通统一登录。
账号和密码在哪里修改
- 统一登录的 OEM 密码:「应用接入 → 修改 OEM 主账号密码」。验证旧密码后修改,退出所有 OEM 主账号会话;应用后端检查关联凭据时,既有统一登录也失效。忘记密码仍走 OEM 登录页邮箱找回。
- 应用独立密码、管理员新增及重置:点击该应用的「后台账号与密码管理」进入产品自己的管理页。Nexus 不读取或重置其私有数据库密码。
- 普通节点用户密码:通过用户登录模块的账号安全或邮箱找回流程处理。
- 管理员要更换登录账号时,应在对应后台创建或授权新账号、确认可以登录,再撤销旧账号及关联。不能只改显示邮箱就转移管理权限。
应用后端的接入要点
接入包 README 提供完整步骤。启动时保存加密的 __Host-GuDuuOemAdminPending Cookie(Secure、HttpOnly、SameSite=Lax、Path=/、5 分钟),回调时消费并清除。应用证明、60 秒一次性码、state 和 PKCE 缺一不可;回调参数不能重复。关联时传入已有管理员会话的绑定值,并再次验证该会话仍有效。
应用会话的每次受保护请求应检查关联凭据,并重新验证本地账号及权限;临时连接故障返回可重试错误,不能冒充已授权或误退出节点用户。不要记录回调查询、兑换码、凭据或签名断言。
上线和回滚
这是完整 Platform 的新增能力,需按备份和迁移流程创建三张独立表:nexus_app_workspace、nexus_app_admin_grant、nexus_app_admin_assertion。它不要求节点重新建库,也不替应用部署后台。代码合并、表单保存、公钥批准、真实登录和真实消息投递应分别验收。
回滚时先撤销该节点应用的统一登录批准,应用恢复已有的独立管理员登录;保留本地恢复账号。回滚不会删除 Matrix 账号、聊天记录或产品内容。SSO 撤销后若再次批准,旧凭据也不能恢复使用。