SSO 配置

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

SSO 设置

本指南面向将企业身份提供商(IdP)连接到 InterMIND 的 IT 管理员。设置完成后,成员可从常规登录页面登录:使用 SSO 登录 → 工作邮箱 → 您的 IdP → 返回 InterMIND。有关非技术概览,请参阅单点登录功能页。

**可用方案:**Business 和 Enterprise 方案 **配置者:**团队所有者或管理员 **协议:**仅支持 OpenID Connect (OIDC)。不提供 SAML 2.0 — Okta、Microsoft Entra ID 和 Google Workspace 均支持 OIDC。

集成页面的 SSO 卡片

前置要求

  1. 已验证的域名 — 首先通过 DNS TXT 记录验证您的邮箱域名(参见域名管理)。SSO 登录仅接受邮箱域名为您的团队已验证域名的账户;此为租户边界。
  2. 一个支持带发现功能的 OIDC 的 IdP — 它必须在其 Issuer URL 下提供 /.well-known/openid-configuration。Okta、Microsoft Entra ID 和 Google 均支持。

在您的 IdP 中注册什么

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

设置值
Redirect URI(回调地址)https://intermind.com/api/auth/sso/callback — 也将显示在您选择 OIDC 后的 SSO 卡片中
Grant typeAuthorization Code(自动使用 PKCE S256)
Scopesopenid email profile

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

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

字段填写内容
Display Name您的成员能识别的任何标签
Issuer URL您的 IdP 的 Issuer — 即提供 /.well-known/openid-configuration 的 URL
Authorization URL上述发现文档中的 authorization_endpoint
Client ID / Client Secret来自您注册的应用

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 ID 和 Client Secret
  5. 在 InterMIND 中:Issuer URL = 您的 Okta 组织 URL(例如 https://acme.okta.com,或您使用的授权服务器的 issuer,如 https://acme.okta.com/oauth2/default);Authorization URL = <issuer>/.well-known/openid-configuration 中的 authorization_endpoint

Microsoft Entra ID (Azure AD)

  1. Entra 管理中心 → App registrations → New registration
  2. 平台 Web,redirect URI https://intermind.com/api/auth/sso/callback
  3. Certificates & secrets → New client secret — 立即复制密钥 Value
  4. Client ID = Overview 页面上的 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 账户登录并自动加入您的团队。(如果您倾向于使用显式的 client credentials,Google 也可以作为通用 OIDC 提供商连接,issuer 为 https://accounts.google.com。)

测试连接

  1. 在私人/无痕窗口中打开登录页面
  2. 点击使用 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存储的提供商类型不在登录流程实现范围内 — 删除 SSO 配置并重新创建为 OIDC 或 Google Workspace
SSO IdP discovery failedIssuer URL 错误或未提供 /.well-known/openid-configuration
"login session expired, start again"从开始登录到 IdP 回调之间超过了 5 分钟
IdP 重定向回后登录被拒绝IdP 返回的邮箱不在您已验证的域名中,或完全没有 email claim(Entra:请添加可选的 email claim)

安全属性

用于安全问卷:SSO 流程使用 Authorization Code 配合 PKCE (S256)、state 和 nonce;ID token 的签名将依据 IdP 的 JWKS 进行验证,同时验证 issuer 和 audience;IdP 仅对通过 DNS 验证的域名具有权威性 — 对任何其他邮箱的断言不会产生会话;OIDC client secret 为静态加密;每次 SSO 登录都会记录在团队审计日志中。方案、域名和配置校验在登录起始和回调两处均在服务端执行。