SSO 配置
SSO 设置
本指南面向将企业身份提供商(IdP)连接到 InterMIND 的 IT 管理员。设置完成后,成员可从常规登录页面登录:使用 SSO 登录 → 工作邮箱 → 您的 IdP → 返回 InterMIND。有关非技术概览,请参阅单点登录功能页。
**可用方案:**Business 和 Enterprise 方案 **配置者:**团队所有者或管理员 **协议:**仅支持 OpenID Connect (OIDC)。不提供 SAML 2.0 — Okta、Microsoft Entra ID 和 Google Workspace 均支持 OIDC。

前置要求
- 已验证的域名 — 首先通过 DNS TXT 记录验证您的邮箱域名(参见域名管理)。SSO 登录仅接受邮箱域名为您的团队已验证域名的账户;此为租户边界。
- 一个支持带发现功能的 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 type | Authorization Code(自动使用 PKCE S256) |
| Scopes | openid 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
- 管理控制台 → Applications → Create App Integration → 登录方式 OIDC,应用类型 Web Application
- Sign-in redirect URI:
https://intermind.com/api/auth/sso/callback - 分配应有访问权限的用户或群组
- 复制 Client ID 和 Client Secret
- 在 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)
- Entra 管理中心 → App registrations → New registration
- 平台 Web,redirect URI
https://intermind.com/api/auth/sso/callback - Certificates & secrets → New client secret — 立即复制密钥 Value
- Client ID = Overview 页面上的 Application (client) ID
- 确保 ID token 携带用户的邮箱:Token configuration → Add optional claim → ID → email
- 在 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。)
测试连接
- 在私人/无痕窗口中打开登录页面
- 点击使用 SSO 登录并输入您已验证域名的工作邮箱
- 您将被重定向到您的 IdP;认证成功后,您将返回 InterMIND 并已登录
- 登录将被记录到团队审计日志中(可从 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-incomplete | Client ID 或 Client Secret 缺失 — 重新保存 SSO 卡片 |
SSO login is not available: type-unsupported | 存储的提供商类型不在登录流程实现范围内 — 删除 SSO 配置并重新创建为 OIDC 或 Google Workspace |
SSO IdP discovery failed | Issuer 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 登录都会记录在团队审计日志中。方案、域名和配置校验在登录起始和回调两处均在服务端执行。