跳转到内容

超级管理员与 SSO 配置

Chorus 的大部分功能都限定在工作区内,但有一个角色凌驾于各个工作区之上:Super Admin(超级管理员)。你用它来创建工作区、为团队开启单点登录(SSO)。本页面向运维 Chorus 部署的人;只是想登录的最终用户请看账户与工作区

超级管理员是一个平台级登录身份,独立于任何工作区。你在服务端通过两个环境变量启用它:管理员 邮箱,以及管理员密码的 bcrypt 哈希:

Terminal window
SUPER_ADMIN_EMAIL="admin@example.com"
SUPER_ADMIN_PASSWORD_HASH="$2b$10$..." # 你的密码的 bcrypt 哈希

用一条一次性命令生成哈希,例如:

Terminal window
node -e "console.log(require('bcryptjs').hashSync('your-password', 10))"

把哈希存进部署的密钥库,绝不要存明文密码。签发管理员会话还需要设置 NEXTAUTH_SECRET (它本就是应用运行的必需项)。

应用内没有通往管理面板的入口,你通过正常的登录界面进入。输入超级管理员邮箱,Chorus 会识别 出它,并在单独的一步要求输入管理员密码,然后打开 Super Admin 面板。管理员会话独立于任何 工作区,且比普通会话更短,所以你需要定期重新登录。

超级管理员面板的仪表盘,含 Dashboard 与 Companies 导航以及工作区、用户、智能体计数
超级管理员面板从专门的 Dashboard 和 Companies 视图管理整个部署的工作区。

在超级管理员面板里,Companies 列出每个工作区及其邮箱域名、OIDC 状态、用户数和智能体数。 你在这里创建、编辑、删除工作区。

创建时,你为它设置名称、一个或多个邮箱域名,以及它的 SSO 设置(见下文)。邮箱域名正是 让用户的邮箱在登录时找到这个工作区的依据。

Chorus 通过你的身份提供商、使用带 PKCE 的 OpenID Connect 为用户登录,没有 client secret 需要管理。你按工作区配置它,在超级管理员面板中该工作区的设置里,位于 OIDC Configuration 之下。有两个必填值:

  • OIDC Issuer URL:你的提供商的 OpenID Connect 发现地址。
  • Client ID:提供商侧该应用的 client ID。

两项都填好后 SSO 自动开启;清空任一项则关闭。Chorus 请求标准的 openid profile email scope。

超级管理员面板中工作区的编辑页,展示含 Issuer URL 和 Client ID 字段的 OIDC Configuration 卡片
每个工作区的 OIDC 设置都在它的编辑页;填齐 Issuer URL 与 Client ID 后 SSO 即启用。

在你的身份提供商处,把 Chorus 注册为一个应用,并把它的重定向(回调)URL 加入白名单,即你的 Chorus 站点地址后跟 /login/callback。Companies 列表会显示可直接复制的准确 URL,它是根据你实际 访问 Chorus 的地址生成的,所以请从你的生产地址打开 Companies 页面,复制那里显示的值。

一旦某个工作区配好了 SSO,用其某个域名下邮箱登录的人就会被送往你的身份提供商再返回,也就是 账户与工作区里描述的流程。若某人的邮箱匹配到多个 SSO 工作区,会被要求选择一个。已被加入某工作区的人,即使邮箱域名不同也会解析到该工作区。

工作区与 SSO 就绪后,把日常配置交给各工作区的运维者:准备智能体访问 讲如何创建智能体凭证,账户与工作区讲你的用户登录时会看到什么。