跳转到主要内容
如果你的组织使用的是 Azure AD 或 Okta 之外的 OpenID Connect (OIDC) 身份提供商(例如 Ping Identity、OneLogin、Keycloak、Auth0,或其他符合 OIDC 标准的 IdP),则可以通过通用 OIDC 连接方式为 Devin Enterprise 配置 SSO。
本指南适用于那些身份提供商Azure AD (OIDC)Okta (OIDC) 原生集成支持的客户。如果你的 IdP 是 Azure AD 或 Okta,建议使用原生集成,因为它能提供更加顺畅的配置体验。

所需准备

要为 Devin 设置 OIDC SSO,需要准备以下信息。您将在下面的设置步骤中收集这些信息,并在最后一步将它们发送给您的 Cognition 客户团队。
  • Discovery URL - 您的 IdP 的 OIDC Discovery 端点(例如:https://idp.example.com/.well-known/openid-configuration
  • Client ID - 来自您的 IdP 的应用程序 Client ID(客户端 ID)
  • Client Secret - 来自您的 IdP 的应用程序 Client Secret(客户端密钥)
  • Identity Provider Domains - 将通过此 IdP 进行身份验证的所有公司电子邮件域名(例如:example.comsubsidiary.example.com
  • Scopes - 需要请求的 OIDC scopes(通常为 openid profile email;如果使用 IdP 组,请添加 groups

设置指南

步骤 1:在 IdP 中注册应用

在身份提供商 IdP 的管理控制台中,创建一个新的 OIDC / OAuth 2.0 应用(有时称为 “Web Application” 或 “Confidential Client”),并使用以下设置:
设置
Application TypeWeb Application / Confidential Client
Sign-in Redirect URI (Callback URL)https://auth.devin.ai/login/callback
Sign-out Redirect URI留空
Grant TypeAuthorization Code
Token Endpoint AuthenticationClient Secret (POST)
创建应用后,记录下 IdP 提供的 Client IDClient Secret

步骤 2:找到您的 Discovery URL

大多数符合 OIDC 标准的身份提供商都会发布一个 OpenID Connect 发现(Discovery)文档。Devin 可以通过这个 URL 自动获取您的 IdP 的授权、令牌和用户信息端点。 Discovery URL 通常具有以下格式:
https://<your-idp-domain>/.well-known/openid-configuration
各身份提供商常见的 Discovery URL 格式:
  • Keycloak: https://<host>/realms/<realm>/.well-known/openid-configuration
  • Ping Identity: https://<host>/<tenant-id>/as/.well-known/openid-configuration
  • OneLogin: https://<subdomain>.onelogin.com/oidc/2/.well-known/openid-configuration
  • Auth0: https://<domain>/.well-known/openid-configuration
  • Google Workspace: https://accounts.google.com/.well-known/openid-configuration
您可以在浏览器中打开该 URL 来验证是否正确——它应返回一个 JSON 文档,其中包含 authorization_endpointtoken_endpointissuer 等字段。

步骤 3:配置 Scope

OIDC scope(作用域)控制 Devin 在认证过程中可以获取哪些用户信息。至少需要请求以下 scope:
ScopePurposeRequired
openid所有 OIDC 流程都必需
profile返回用户的显示名称
email返回用户的电子邮箱地址
groups返回用户的组成员关系(用于 IdP 组)仅在使用 IdP 组时必需
你的 scope 字符串应为:openid profile email(如果使用 IdP 组,则为 openid profile email groups)。
某些 IdP 对组声明使用的 scope 名称不同(例如 roles 或自定义 scope)。请查看你的 IdP 文档,确认用于返回组成员信息的正确 scope 名称。

步骤 4:配置组声明(IdP 组必需配置)

如果你希望在 Devin 中使用IdP 组集成来进行基于角色的访问控制,你必须将 IdP 配置为在 ID token 或 userinfo 响应中包含组成员信息。否则,用户虽然可以成功完成认证,但 IdP 组将无法同步。
要启用 IdP 组同步:
  1. 在你的 IdP 中,确保该应用已启用 groups scope
  2. 将你的 IdP 配置为在 ID token 或 userinfo 响应中包含 groups claim
如果你的 IdP 默认不包含组声明,你可能需要创建一个自定义 scope,或配置声明映射策略。请参考 IdP 文档,了解如何将组声明添加到 OIDC token 中。

步骤 5:将配置信息发送给 Cognition

将以下内容发送给你的 Cognition 客户团队:
  1. Discovery URL(发现 URL)(例如:https://idp.example.com/.well-known/openid-configuration
  2. Client ID(客户端 ID)
  3. Client Secret(客户端密钥)
  4. Identity Provider Domains(身份提供商域名)(此 IdP 的所有邮箱域名)
  5. Scopes(作用域)(例如:openid profile email groups
你的 Cognition 客户团队会为你配置 OIDC 连接,使 IdP 群组在每次用户登录时自动同步。

验证您的设置

在 Cognition 客户团队确认配置已完成后:
  1. 访问您的 Devin Enterprise URL(例如:https://<your_subdomain>.devinenterprise.com
  2. 点击 Sign in with OIDC(或对应的 SSO 按钮)以启动登录流程
  3. 您应该被重定向到 IdP 的登录页面
  4. 完成认证后,您应当进入您的 Devin Enterprise 组织
要验证 IdP 组是否正常工作:
  1. 在 Devin 网页应用中前往 Settings > IdP Groups
  2. 在至少有一名组成员登录后,您应当能看到列出的 IdP 组
  3. 组会在每次登录时同步,因此在 IdP 中的任何成员变更都会在用户下次登录时生效
IdP 组会在用户登录时获取,因此组成员变更需要用户重新认证。关于基于组的访问控制配置的更多详情,请参见 IdP Group Integration