单点登录配置 (SAML/OIDC)
使用 SAML 或 OIDC 配置单点登录 (SSO)
ScribbleMaps 支持使用 SAML 2.0 或 OpenID Connect (OIDC) 的企业级单点登录。这允许您的团队成员使用您组织的身份提供商 (IdP) 进行身份验证,例如 Okta、Microsoft Entra ID (Azure AD)、Google Workspace 或 Auth0。
SSO 配置可在 team.scribblemaps.com 进行,且完全免费。
目录
- 支持的功能
- 准备工作
- 步骤 1:验证您的电子邮件域名
- 步骤 2:配置您的身份提供商
- 步骤 3:在 ScribbleMaps 中配置 SSO
- 步骤 4:测试您的配置
- 步骤 5:启用 SSO
- SP 发起的 SSO
- OIN 全局注销
- 特定提供商指南
- 高级选项
- 故障排除
支持的功能
ScribbleMaps SSO 集成支持以下功能:
| 功能 | 描述 |
|---|---|
| SP-Initiated SSO | 用户可以通过在 ScribbleMaps 登录页面输入其电子邮件地址来发起登录流程。ScribbleMaps 会将用户重定向到您的身份提供商进行身份验证。 |
| IdP-Initiated SSO | 用户可以直接从其身份提供商仪表板登录 ScribbleMaps(例如,在 Okta 中点击 ScribbleMaps 图标)。 |
| Just-In-Time (JIT) Provisioning | 在首次 SSO 登录时,系统会自动在 ScribbleMaps 中创建新的用户帐户。用户将被添加到团队中,并默认分配 Viewer 角色。 |
准备工作
- 您必须是 Team Owner 才能配置 SSO
- 您需要访问您组织的身份提供商管理控制台
- 准备好您的电子邮件域名(例如,
yourcompany.com)
步骤 1:验证您的电子邮件域名
在配置 SSO 之前,您必须验证您的电子邮件域名的所有权。此安全措施可确保只有获得授权的组织才能为其域名配置 SSO。
- 登录到 team.scribblemaps.com
- 导航至 Settings > Single Sign-On
- 转到 Domains 选项卡
- 点击 Add Domain 并输入您的电子邮件域名(例如,
yourcompany.com) - 选择一种验证方法:
选项 A:DNS TXT 记录(推荐)
将 TXT 记录添加到您域名的 DNS 设置中:
| 类型 | 主机/名称 | 值 |
|---|---|---|
| TXT |
@ 或 yourcompany.com
|
scribblemaps-verify=YOUR_VERIFICATION_CODE |
注意:DNS 更改最多可能需要 48 小时才能生效。
选项 B:文件上传
- 创建一个名为
scribblemaps-verify.txt的文本文件 - 将您的验证码作为唯一内容添加进去
- 上传至:
https://yourcompany.com/.well-known/scribblemaps-verify.txt
添加验证后,点击 Verify Domain 以确认所有权。
步骤 2:配置您的身份提供商
在您的身份提供商中将 ScribbleMaps 添加为应用程序。如果您使用的是 Okta,可以直接从 Okta Integration Network (OIN) 目录中添加 ScribbleMaps — SAML SSO URL、SP Entity ID、ACS URL 和 OIDC Redirect URI 会自动预先配置。
对于 SAML 2.0
| 设置 | 值 |
|---|---|
| NameID Format | 电子邮件地址 |
| Signature Algorithm | SHA-256(推荐) |
对于 OIDC
| 设置 | 值 |
|---|---|
| Scopes | openid email profile |
步骤 3:在 ScribbleMaps 中配置 SSO
配置 SAML 2.0
- 在 ScribbleMaps 中,转到 Settings > Single Sign-On > SAML 选项卡
- 输入来自您的身份提供商的以下信息:
| 字段 | 描述 |
|---|---|
| Entity ID | 您的 IdP 的 Entity ID(也称为 Issuer) |
| SSO URL | 发送登录请求的 URL |
| Certificate | 您的 IdP 的 X.509 签名证书(PEM 格式) |
- 点击 Save Settings
配置 OIDC
- 在 ScribbleMaps 中,转到 Settings > Single Sign-On > OIDC 选项卡
- 选择您的 Provider Type(Google、Microsoft、Okta、Auth0 或 Custom)
- 输入以下信息:
| 字段 | 描述 |
|---|---|
| Client ID | 来自您的 IdP 的 OAuth Client ID |
| Client Secret | 来自您的 IdP 的 OAuth Client Secret |
| Authority URL | 您的 IdP 的发行者 URL(参见下方的提供商指南) |
- 点击 Save Settings
步骤 4:测试您的配置
在为所有用户启用 SSO 之前,请测试您的配置:
- 点击 Test Connection 按钮
- 将打开一个新窗口以模拟 SSO 登录流程
- 使用您的身份提供商完成身份验证
- 验证您是否已成功重定向回 ScribbleMaps
如果测试失败,请查看错误消息并检查您的配置设置。
步骤 5:启用 SSO
测试成功后:
- 将 Enable SSO 开关切换为 ON
- 选择您的强制执行选项:
- Optional:用户可以选择 SSO 或密码登录
- Enforced:具有已验证电子邮件域名的用户必须使用 SSO(禁用密码登录)
注意:即使强制执行 SSO,Team Owners 也始终可以使用密码登录作为备份。
SP 发起的 SSO
ScribbleMaps 支持 SP 发起的 SSO,这允许用户从 ScribbleMaps 登录页面开始登录流程。其工作原理如下:
- 导航至 scribblemaps.com/account/login
- 输入您的电子邮件地址(例如,
[email protected]) - 点击 Sign in with SSO
- 您将被重定向到您组织的身份提供商(例如 Okta)进行身份验证
- 身份验证成功后,您将自动被重定向回 ScribbleMaps 并登录
如果您的组织强制执行 SSO,在登录页面输入您的电子邮件将自动将您重定向到您的身份提供商 — 不会显示密码字段。
OIN 全局注销
支持 Okta 的全局注销。有关配置说明,请访问此链接。
特定提供商指南
Okta
- 在 Okta 管理控制台中,转到 Applications > Browse App Catalog
- 搜索 ScribbleMaps 并点击 Add Integration
- SSO URL、Entity ID 和 Redirect URI 会自动预先配置
- 转到 Sign On 选项卡以查找您的 IdP 配置详细信息:
- 下载 X.509 Certificate
- 复制 Identity Provider Issuer (Entity ID)
- 复制 Single Sign-On URL
- 将这些值输入到 ScribbleMaps SSO 设置中(参见步骤 3)
Microsoft Entra ID (Azure AD)
- 在 Azure 门户中,转到 Microsoft Entra ID > App registrations > New registration
- 配置:
-
Redirect URI:
https://api.scribblemaps.com/oidc/callback(Web 平台)
-
Redirect URI:
- 转到 Certificates & secrets > 创建一个新的 Client secret
- 复制 Application (client) ID 和 Client secret value
- Authority URL:
https://login.microsoftonline.com/YOUR-TENANT-ID/v2.0
Google Workspace
- 在 Google Cloud 控制台中,转到 APIs & Services > Credentials
- 点击 Create Credentials > OAuth client ID
- 选择 Web application
- 添加 Authorized redirect URI:
https://api.scribblemaps.com/oidc/callback - 复制 Client ID 和 Client Secret
- Authority URL:
https://accounts.google.com
注意:要对 Google Workspace 要求 MFA,请在您的 Google Workspace 管理控制台中进行配置。
Auth0
- 在 Auth0 仪表板中,转到 Applications > Create Application
- 选择 Regular Web Applications
- 配置:
-
Allowed Callback URLs:
https://api.scribblemaps.com/oidc/callback -
Allowed Logout URLs:
https://api.scribblemaps.com/oidc/logout-callback
-
Allowed Callback URLs:
- 从 Settings 选项卡复制 Client ID 和 Client Secret
- Authority URL:
https://YOUR-DOMAIN.auth0.com
高级选项
即时 (JIT) 配置
启用后,用户在首次 SSO 登录时会自动在 ScribbleMaps 中创建。其个人资料信息(姓名、电子邮件)将从身份提供商中填充。
要求多因素身份验证(仅限 OIDC)
启用此选项可在允许登录前要求进行 MFA 验证。ScribbleMaps 将验证您的 IdP 是否已对该用户强制执行 MFA。
对于 Okta,您可以指定自定义 ACR 值,例如:
-
urn:okta:loa:2fa:any- 任何第二因素 -
phr- 防网络钓鱼身份验证 -
phrh- 防网络钓鱼硬件绑定身份验证
属性/声明映射
自定义您的 IdP 中的用户属性如何映射到 ScribbleMaps 用户字段:
| ScribbleMaps 字段 | 常用 SAML 属性 | 常用 OIDC 声明 |
|---|---|---|
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
email |
|
| First Name | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname |
given_name |
| Last Name | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname |
family_name |
故障排除
常见问题
"Domain not verified"
- 确保您的 DNS TXT 记录或验证文件配置正确
- DNS 更改最多可能需要 48 小时才能生效
- 验证验证码中没有拼写错误
"Invalid certificate"
- 确保您使用的是完整的证书,包括
-----BEGIN CERTIFICATE-----和-----END CERTIFICATE----- - 检查证书是否已过期
- 确保您复制的是签名证书,而不是加密证书
"Invalid signature"
- 验证证书是否与您 IdP 当前的签名证书匹配
- 检查签名算法是否匹配(SHA-256 与 SHA-1)
"User not found" 或 "Email mismatch"
- 确保您的 IdP 返回的电子邮件与已验证的域名匹配
- 检查 NameID 格式是否设置为 Email Address
- 验证属性/声明映射是否正确
"Security error: Your Identity Provider is not authorized for this email domain"
- 当 IdP 配置与已验证的域名不匹配时会发生此错误
- 确保电子邮件域名已在您的团队下进行验证
- 检查您是否正在使用来自已验证域名的电子邮件进行登录
查看审计日志
在 Settings > Single Sign-On > Audit Logs 中监控 SSO 活动。您可以:
- 按事件类型(Login、Logout、Failed Login)进行筛选
- 按日期范围进行筛选
- 将日志导出为 CSV 以用于合规性报告
需要帮助?
如果您在配置 SSO 时遇到问题,请联系我们的支持团队,并提供以下信息:
- 您的 Team 名称
- 您正在使用的身份提供商
- 您看到的任何错误消息
- 您的 IdP 配置截图(敏感数据需打码)
我们随时为您提供帮助,协助您为组织配置好 SSO。
最后更新