单点登录疑难解答

在配置或使用单点登录 (SSO) 时,您可能会遇到以下问题: 可能源于您的身份提供商 (IdP) 或 Docker 配置。这 以下部分介绍如何在 Docker Admin 中查看错误消息 控制台以及一些常见错误和可能的解决方案。您还可以看到 您的身份提供商的文档,用于了解您是否可以在 他们的服务。

查看 SSO 和 SCIM 错误日志

  1. 登录到 Admin Console

  2. 在左侧导航下拉菜单中选择您的组织或公司, ,然后选择 SSO 和 SCIM。

    注意

    当组织是公司的一部分时,您必须选择公司并 在公司级别查看该组织的 SSO 连接。

  3. 在 SSO 连接 表中,选择 Actions 图标和 View error 日志。此时将显示 Connection errors (连接错误) 页面,其中包含以下错误列表: 在过去 7 天内发生。

  4. Connection errors (连接错误) 页面中,选择 View error details (查看错误详细信息) 旁边的 错误消息了解更多详细信息。此时将显示一个模态框,其中包含一个 JSON 对象 更多细节。

常见 SSO 错误和解决方案

查看 SSO 和 SCIM 错误日志,然后使用 以下部分介绍了常见配置错误的解决方案。

未启用 IdP 发起的登录以进行连接

此错误日志中会显示类似于以下内容的错误消息 问题。

IdP-Initiated sign in is not enabled for connection '$ssoConnection'.

Docker 不支持 IdP 启动的 SAML 流。当 用户尝试从 IdP 进行身份验证,例如使用 Docker SSO 应用程序 磁贴。

可能的解决方案:

  • 用户必须从 Docker 应用程序(Hub、Desktop 等)启动身份验证。 用户需要输入他们的电子邮件地址,他们将被重定向到 为其域配置的 SSO IdP。
  • (可选)将 Docker SSO 应用程序配置为对 IdP 上的用户不可见 因此,用户不会尝试从那里开始身份验证。

组织中的席位不足

此错误日志中会显示类似于以下内容的错误消息 问题。

Not enough seats in organization '$orgName'. Add more seats or contact your administrator.

尝试将用户预配到组织中时,可能会发生此错误 通过 SSO Just-in-Time 配置或 SCIM,但组织没有可用的 用户的座位。

可能的解决方案:

  • 向组织添加更多 Docker Business 订阅席位。有关详细信息, 请参阅将席位添加到您的 订阅
  • 从您的组织中删除一些用户或待处理的邀请以获得更多 有座位。有关更多详细信息,请参阅管理组织 成员

未验证域的 SSO 连接

此错误日志中会显示类似于以下内容的错误消息 问题。

Domain '$emailDomain' is not verified for your SSO connection. Contact your company administrator. TraceID: XXXXXXXXXXXXXX

如果 IdP 通过 SSO 和 UPN 对用户进行身份验证,则会出现此错误 returned to Docker 不匹配与 在 Docker 中配置的 SSO 连接。

可能的解决方案:

  • 确保 IdP SSO 连接返回正确的 UPN 值作为一部分 断言属性 (attributes mapping) 的
  • 添加并验证 IdP 用作 UPN 的所有域和子域 并将它们关联到您的 Docker SSO 连接。有关更多详细信息,请参阅配置单点登录

找不到会话

此错误日志中会显示类似于以下内容的错误消息 问题。

We couldn't find your session. You may have pressed the back button, refreshed the page, opened too many sign-in dialogs, or there is some issue with cookies. Try signing in again. If the issue persists, contact your administrator.

此错误通常在身份验证流程中发生,当用户按 返回或浏览器上的 Refresh 按钮。这会导致登录流程 丢失对初始身份验证请求的跟踪,这是完成所必需的 所有身份验证流。

可能的解决方案:

  • 避免在登录期间按“返回”或“刷新”按钮。
  • 关闭浏览器的选项卡并从头开始身份验证流程 在应用程序(Docker Desktop、Hub 等)中

用户未分配到组织

此错误日志中会显示类似于以下内容的错误消息 问题。

User '$username' is not assigned to this SSO organization. Contact your administrator. TraceID: XXXXXXXXXXXXX

如果禁用了 SSO 实时 (JIT) 配置,则会出现此错误。JIT 预配可确保在用户 通过 SSO 进行身份验证。可以选择禁用 JIT 配置以防止 自动或在 SCIM 用作 SCIM 时占用组织中席位的用户 用户预置的唯一选项。

可能的解决方案:

  • 查看您的 SSO 连接配置并启用 JIT 预置以添加 通过 SSO 进行身份验证后的所有用户。有关更多详细信息, 请参阅 Just-in-Time provisioning
  • 如果 JIT 预置应保持禁用状态,则将用户添加到 组织。下次用户通过 SSO 他们将被添加到组织中,因为他们被邀请了。了解更多 详细信息,请参阅管理组织成员
  • 如果 SCIM 应配置用户,请确保控制 SCIM 的 IdP 正确配置 provisioning 以尽快将用户与 Docker 同步 当他们被分配到应用程序时。有关更多详细信息,请参阅您的身份 提供商的文档。

姓名 ID 不是电子邮件地址

此错误日志中会显示类似于以下内容的错误消息 问题。

The name ID sent by the identity provider is not an email address. Contact your company administrator.

在 SAML 身份验证期间,当您的 IdP 发回名称时,可能会发生此错误 ID (UPN) 不符合所需的电子邮件地址格式。The Docker SSO 应用程序要求名称标识符作为用户的主电子邮件地址。

可能的解决方案:

  • 确保 Name ID (名称 ID) 属性格式为EmailAddress.