SSO 设置

连接 Okta、Microsoft Entra ID 或 Google Workspace,让您的团队通过身份提供商登录。

SSO 设置

本指南面向负责将企业身份提供商(IdP)连接到 InterMIND 的 IT 管理员。设置完成后,成员可从常规登录页面登录:Sign in with SSO → 工作邮箱 → 您的 IdP → 返回 InterMIND。

适用计划: Business 和 Enterprise 配置者: 团队所有者或管理员 协议: OpenID Connect (OIDC)。SAML 2.0 登录正在开发中——SAML 配置可保存但尚不能用于登录。

前置条件

  1. 一个已验证的域名——首先通过 DNS TXT 记录验证您的邮箱域名(请参阅 Domain Management)。SSO 登录仅接受邮箱域名已被您团队验证的账户;这是租户边界。
  2. 支持 OIDC 发现机制的 IdP——必须在 Issuer URL 下提供 /.well-known/openid-configuration。Okta、Microsoft Entra ID 和 Google 都支持。

在您的 IdP 中需要注册的内容

在您的 IdP 中创建一个 OIDC Web Application,配置如下:

设置
重定向 URI(回调)https://intermind.com/api/auth/sso/callback——选择 OIDC 后也会显示在 SSO 卡片中
授权类型Authorization Code(自动使用 PKCE S256)
Scopesopenid email profile

您的 IdP 颁发的 ID token 必须包含用户的 email,且该邮箱的域名必须是您已验证的域名之一——否则登录将被拒绝。

然后在集成页面填写 SSO 卡片:

字段填写内容
显示名称您的成员易于识别的任意标签
Issuer URL您 IdP 的 issuer——即提供 /.well-known/openid-configuration 的 URL
Authorization URL来自该发现文档的 authorization_endpoint
Client ID / Client Secret来自您注册的应用

客户端密钥经静态加密存储,保存后不会再返回给浏览器。

Okta

  1. 管理控制台 → Applications → Create App Integration → 登录方式选择 OIDC,应用类型选择 Web Application
  2. Sign-in redirect URI: https://intermind.com/api/auth/sso/callback
  3. 分配应当具有访问权限的用户或组
  4. 复制 Client IDClient Secret
  5. 在 InterMIND 中:Issuer URL = 您的 Okta 组织 URL(例如 https://acme.okta.com,或者如果您使用了授权服务器,则为该服务器的 issuer,如 https://acme.okta.com/oauth2/default);Authorization URL = 来自 <issuer>/.well-known/openid-configurationauthorization_endpoint

Microsoft Entra ID (Azure AD)

  1. Entra 管理中心 → App registrations → New registration
  2. 平台选择 Web,重定向 URI 为 https://intermind.com/api/auth/sso/callback
  3. Certificates & secrets → New client secret——立即复制密钥的 Value
  4. Client ID = 概览页面上的 Application (client) ID
  5. 确保 ID token 携带用户的邮箱:Token configuration → Add optional claim → ID → email
  6. 在 InterMIND 中:Issuer URL = https://login.microsoftonline.com/<tenant-id>/v2.0;Authorization URL = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize

Google Workspace

无需注册应用。在 SSO 卡片中选择 Google Workspace 提供商类型并保存——已验证域名上的成员使用其 Google 账户登录,即可自动加入您的团队。(如果您希望使用显式的客户端凭据,也可以将 Google 作为通用 OIDC 提供商连接,issuer 为 https://accounts.google.com。)

测试连接

  1. 在私密/无痕窗口中打开登录页面
  2. 点击 Sign in with SSO 并输入您已验证域名上的工作邮箱
  3. 系统会将您重定向到您的 IdP;身份验证后,您将返回 InterMIND 并完成登录
  4. 此次登录会被记录在团队审计日志中(可从 Users 页面导出),类型为 auth.login,方式为 sso

故障排查

现象原因
输入邮箱后提示 "SSO is not configured"没有启用的 SSO 配置匹配该邮箱域名——请检查域名已验证且 SSO 卡片已保存
SSO login is not available: plan团队的计划已不再包含 SSO
SSO login is not available: domain-not-verified域名仍在等待 DNS 验证
SSO login is not available: config-incompleteClient ID 或 Client Secret 缺失——请重新保存 SSO 卡片
SSO login is not available: type-unsupported已存储的配置为 SAML——SAML 登录尚不可用
SSO IdP discovery failedIssuer URL 错误或未提供 /.well-known/openid-configuration
"login session expired, start again"从开始登录到 IdP 回调之间超过 5 分钟
IdP 重定向返回后登录被拒IdP 返回的邮箱不在您已验证的域名内,或完全未返回 email claim(Entra:添加可选的 email claim)

安全特性

用于安全问卷:SSO 流程为带 PKCE (S256)statenonce 的 Authorization Code;ID token 的签名通过 IdP 的 JWKS 进行验证,同时校验 issuer 和 audience;IdP 仅对通过 DNS 验证的域名具有权威性——针对其他任何邮箱的断言都不会生成会话;OIDC 客户端密钥静态加密存储;每一次 SSO 登录都会进入团队审计日志。计划、域名和配置门槛在登录开始和回调两端均由服务端强制校验。