本指南适用于希望使用 SAML,而不是原生 Azure AD(OIDC) 或 Okta(OIDC) 集成的客户。我们通常建议在可能的情况下使用原生 OIDC 集成,但在某些情况下,SAML SSO 会是更合适的选择。
所需准备
- Sign In URL - 您的 IdP 的 SAML SSO 端点(例如:
https://idp.example.com/sso/saml) - X509 Signing Certificate - 您的 IdP 用于对 SAML 断言进行签名的公钥证书
- Identity Provider Domains - 所有将通过此 IdP 进行身份验证的公司电子邮件域名(例如:
example.com、subsidiary.example.com) - Group Attribute Name(如果使用 IdP 组)- 您的 IdP 用于发送组成员信息的 SAML 属性名称
设置说明
步骤 1:在您的 IdP 中创建一个 SAML 应用
| 设置 | 值 |
|---|---|
| ACS(Assertion Consumer Service)URL | https://auth.devin.ai/login/callback |
| Entity ID / Audience URI | 暂时留空——参见步骤 5 |
| Name ID Format | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress(推荐)或 persistent |
| Name ID Value | 用户的电子邮箱地址 |
| Signature Algorithm | RSA-SHA256 |
| Digest Algorithm | SHA256 |
| Response Binding | HTTP-POST |
步骤 2:配置 SAML 属性
| SAML 属性 | 描述 | 是否必需 |
|---|---|---|
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier | 唯一用户标识符(通常是用户的电子邮件地址) | 是 |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | 用户的电子邮件地址 | 是 |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name | 用户的显示名称 | 建议 |
Devin 使用
nameidentifier 属性来标识用户。大多数 IdP 会自动从 SAML Name ID 值填充该属性。如果你的 IdP 未将 nameidentifier 作为单独属性发送,请确保在步骤 1 中将 Name ID Value 设置为用户的电子邮件地址。步骤 3:配置组断言(使用 IdP 组时必需)
| SAML Attribute | Value |
|---|---|
| Attribute Name | http://schemas.xmlsoap.org/claims/Group |
| Attribute Value | 用户的组成员关系(用户所属的所有组) |
具体的属性名称可能会因 IdP 不同而有所差异。组常见的属性名称包括:
http://schemas.xmlsoap.org/claims/Grouphttp://schemas.microsoft.com/ws/2008/06/identity/claims/groupsgroupsmemberOf
使用 SAML 的 Azure AD(Entra ID)
- 在 Azure 门户中,前往 Enterprise Applications > 您的 SAML 应用 > Single sign-on
- 在 Attributes & Claims 下,点击 Add a group claim
- 选择 Groups assigned to the application(推荐)或 All groups
- 将 Source attribute 设置为适合您环境的值(例如
sAMAccountName或Display name) - 记录 Azure 生成的 Claim name(例如
http://schemas.microsoft.com/ws/2008/06/identity/claims/groups),并将其分享给您的 Cognition 账户团队
其他 SAML 身份提供商
- 在你的 SAML 应用配置中添加一个组属性声明
- 将其配置为发送用户所属的组信息
- 记录下该属性的准确名称,并将其提供给你的 Cognition 客户经理团队
步骤 4:将配置发送给 Cognition
- 登录 URL(例如
https://idp.example.com/sso/saml) - X509 签名证书(公钥证书文件或 PEM 编码文本)
- 身份提供商域名(此 IdP 的所有邮箱域名)
- 组属性名称(如果使用 IdP 组)— 在步骤 3 中配置的 SAML 属性名称(需完全一致)
步骤 5:与 Cognition 完成配置
- 创建 SAML 连接,并向你提供 Entity ID / Audience URI 和一个 connection name(连接名称)
- 映射你的组属性(如果适用),以便在每次用户登录时自动同步 IdP 组
Devin 会发送带签名的 SAML 身份验证请求。你的 SAML 元数据文件可在以下地址获取:其中
<connection_name> 是 Cognition 客户团队提供的连接名称。将此元数据导入到你的 IdP 中,以完成信任配置并启用请求签名验证。验证你的设置
- 访问你的 Devin Enterprise URL(例如:
https://<your_subdomain>.devinenterprise.com) - 点击 Sign in with SAML(或相应的 SSO 按钮)以开始登录流程
- 系统会将你重定向到 IdP 的登录页面
- 完成认证后,你应当进入你的 Devin Enterprise 组织
- 在 Devin 网页应用中,前往 Settings > IdP Groups
- 在至少有一名组成员登录之后,你应当能看到你的 IdP 组被列出
- 组会在每次登录时同步,因此在 IdP 中进行的任何成员变动都会在用户下次登录时生效
IdP 组会在用户登录时获取,因此组成员变更需要用户重新认证。有关配置基于组的访问控制的更多详细信息,请参阅 IdP Group Integration。
