GetIdentityProvider - 查询外部身份提供商
查询指定身份源的绑定和期望配置。CustomSSO 已配置 SAML 时回读上游实际 SSO 配置,SCIM 状态通过独立接口查询。
接口说明
功能与前提\n 按类型读取已有绑定。CustomSSO 返回已保存的 protocol、标准化 saml、期望 loginEnabled、syncEnabled 及共享绑定 status;未配置 SAML 时 saml、configuration 可不返回。有 saml 配置时额外回查 AgentIdentity,configuration 表示实际 SSO 配置。saml 是编辑表单的数据来源,configuration 的状态开关为 Enabled、Disabled;上游查询失败会报错,不能当成未配置。\n 只有本接口回读实际 SAML 配置,列表和写接口不保证返回 configuration。WAITING_CONFIGURATION 表示用户池初始化完成但尚未保存 SAML Metadata;此时可读取 SP 信息、填写配置或断开集成,不应锁定表单等待 READY。UPDATING、UPDATE_FAILED 描述登录配置任务,不是 SCIM 任务。CustomSSO 的厂商回调地址为空。SCIM 操作结果用 GetIdentityProviderSCIM.operationStatus 查询。\n\n## 请求与示例\nGET /workspaces/{workspaceId}/identity-providers/{identityProviderType}\n 调用约定:按目标 Workspace 的地域调用,使用有相应 Workspace 身份源资源权限的 AK/STS 身份。下文示例中的 ws-example、URL、证书和 Token 均为占位值,需替换为真实值。请求体示例表示公开 API 的 body 参数内容,不是后端直连接口额外的 body 包装。返回示例只展示业务部分,外层还包括 requestId、success、code、message、httpStatusCode;排障请保留 requestId,不记录密钥。业务任务异步不意味着 HTTP 请求长连接等待完成。\ntext\nGET /workspaces/ws-example/identity-providers/CustomSSO\n\n\n## 返回示例\njson\n{\n "data": {\n "workspaceId": "ws-example",\n "identityProviderType": "CustomSSO",\n "status": "WAITING_CONFIGURATION",\n "loginEnabled": false,\n "syncEnabled": false\n }\n}\n\n\n## 错误与处理\n 错误处理:400 InvalidParameter 表示参数或当前配置前提不满足;404 IdentityProviderNotFound 表示没有匹配类型的绑定。同步调用上游失败可能返回 503 IdentityProviderProvisioningUnavailable;保留请求 ID 排查,不把读取失败解释为未配置。实际鉴权和 Workspace 不存在错误沿用公共错误处理。\n404 IdentityProviderNotFound:未绑定或传入类型与当前绑定不一致。已有 SAML 时上游回读失败不会退化为一份成功的空配置。\n\n## 调用关系与使用边界\nSAML 配置完成与登录启用是独立操作:protocol=SAML 且存在 saml 表示已提交登录配置,loginEnabled 表示登录期望开关;结合 configuration 的实际 SSO 状态核对生效情况。SCIM 使用独立查询接口,不以本接口 status=READY 作为 SCIM 同步成功的依据。当前不提供 OIDC、JIT 配置或 JIT 状态字段。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
agentcore:GetIdentityProvider |
get |
*IdentityProvider
|
无 | 无 |
请求语法
GET /workspaces/{workspaceId}/identity-providers/{identityProviderType} HTTP/1.1
路径参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| workspaceId |
string |
是 |
工作空间 ID。 |
ws-123456 |
| identityProviderType |
string |
是 |
外部身份提供商类型。可选值:DingTalk、Feishu。 |
DingTalk |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
当前API无需请求参数
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| code |
string |
业务状态码。 |
SUCCESS |
| data |
object |
外部身份提供商的绑定详情。 |
|
| configuration |
object |
SAML 实际配置只在 GetIdentityProvider 按需回读;SCIM 查询和准备返回实际接收状态及 URL。 |
|
| bindingType |
string |
HTTP-Redirect 或 HTTP-POST;手填时必填,查询返回短名称。 |
HTTP-Redirect |
| entityId |
string |
手填时必填,非空且不超过 2048 字符;已有配置不支持更换。与 SP 查询的我方 Entity ID 不同。 |
https://idp.example.com/entity |
| loginUrl |
string |
手填时必填,为绝对 HTTPS URL,不含用户凭据和片段。 |
https://idp.example.com/sso |
| ssoStatus |
string |
实际开关值 Enabled 或 Disabled,不等同 AC 保存的 loginEnabled 期望值。 |
Enabled |
| createdAt |
string |
创建时间,采用 RFC 3339 格式的 UTC 时间。 |
2026-08-12T03:04:05Z |
| eventSubscriptionCallbackUrl |
string |
事件订阅回调地址。需要将该地址配置到外部身份提供商的应用中用于接收组织变更事件,用户池尚未开通时返回空字符串。 |
http://auth.cn-hangzhou.agentteams.aliyuncs.com/roa/dingtalk/event/up-123456 |
| identityProviderType |
string |
外部身份提供商类型。可选值:DingTalk、Feishu。 |
DingTalk |
| loginCallbackUrl |
string |
登录回调地址。需要将该地址配置到外部身份提供商的应用中,用户池尚未开通时返回空字符串。 |
https://signin-cn-hangzhou.aliyunagentid.com/up-123456/dingtalk/callback |
| loginEnabled |
boolean |
是否允许工作空间用户通过该外部身份提供商登录。 |
|
| metadata |
object |
外部身份提供商的应用配置。应用密钥类配置不会返回。 |
|
| appId |
string |
飞书应用的 App ID。绑定类型为 Feishu 时必填。 |
cli_exampleappid01 |
| appKey |
string |
钉钉应用的 AppKey。绑定类型为 DingTalk 时必填。 |
dingexampleappkey01 |
| binding |
string |
历史 metadata 快照中的 SAML Binding URI;CustomSSO 更新请使用 saml.bindingType。 |
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect |
| certificates |
string |
历史 metadata 快照中的证书串;编辑配置使用 saml.x509Certificates,不提交旧 metadata。 |
MIICwDCCAaigAwIBAgIULlsHLfcADyBax5ZtFlj+YGzZVo0wDQYJKoZIhvcNAQELBQAwGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMB4XDTI2MDEwMTAwMDAwMFoXDTM2MDEwMTAwMDAwMFowGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAto0DN0W1CrPRzK9QZ9A1aApb4Lg8oGlp2c0PbN3LokXe/HzwxCMXx65IDnrenttxzTwp9BgUnUN/3LRzWaOL2UQ/vNYNW9LFLkI1T64UPyI7eyi28YlALhb41xkYhEp7rz+MjqifBzVZeTDUxBYtbK2hAhbYEL1+udwsXEx0KB7xuQ/rbI2OKeqAEAD1tfYg7T/SM2wrXNYhx+o1HtchM4/0I8Okkk27JQ4y3ofzC5sTySmFF1Y7XcpSd+5WSyazedhkAieo8AB01DkJV6nnKfH8sH0EBsnH3FP8FhqCLrIeEkjX9B9OcIRLGjiZqx4u/ryW1QhMldnv+pFfNjWy/wIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQC1hSQG8AwtGOoX2gKBK4Hi5XBrBreij8WlLTUWld0FINQ0Rg84f/27CjDthywj6wgxCesCuOVFhpxQa1UacsP/Gcai1aKABtLWImcaWECRYK5gDkwhTMFKM9mXA26hH1l4v/UR2iTpEK9H78egC4W7bs2LDTpPryuaNKTqP2O0tMbNkAHB8yecz5LxHXnxadL9Egow25g2RClvpifWqDnuS9TSbKkIWLcPLjocJj2K9ILpBwhXiXi/BiSgyYTLiYvVvih9vX4s+hKGZNJc0j92YLiOHDF0XH1oxgdVjfTmRiedeb2VZJZElptD92z0AqFR7z2d5B+OqpPA2gjuMLV5 |
| corpId |
string |
钉钉企业的 CorpId。绑定类型为 DingTalk 时必填。 |
dingexamplecorpid01 |
| entityId |
string |
手填时必填,非空且不超过 2048 字符;已有配置不支持更换。与 SP 查询的我方 Entity ID 不同。 |
https://idp.example.com/entity |
| loginUrl |
string |
手填时必填,为绝对 HTTPS URL,不含用户凭据和片段。 |
https://idp.example.com/sso |
| protocol |
string |
当前仅支持 SAML;未保存有效配置时可不返回。不支持用 OIDC 占位初始化。 |
SAML |
| saml |
object |
输入支持 XML 与完整手填二选一。查询返回标准化配置,不回显原始 XML;未配置时可省略。 |
|
| bindingType |
string |
HTTP-Redirect 或 HTTP-POST;手填时必填,查询返回短名称。 |
HTTP-Redirect |
| entityId |
string |
手填时必填,非空且不超过 2048 字符;已有配置不支持更换。与 SP 查询的我方 Entity ID 不同。 |
https://idp.example.com/entity |
| loginUrl |
string |
手填时必填,为绝对 HTTPS URL,不含用户凭据和片段。 |
https://idp.example.com/sso |
| x509Certificates |
array |
手填时必填非空数组,使用 PEM X.509 证书文本;校验当前有效期,去重后最多 2 张。 |
["-----BEGIN CERTIFICATE-----\\nMIICwDCCAaigAwIBAgIULlsHLfcADyBax5ZtFlj+YGzZVo0wDQYJKoZIhvcNAQEL\\nBQAwGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMB4XDTI2MDEwMTAwMDAwMFoX\\nDTM2MDEwMTAwMDAwMFowGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMIIBIjAN\\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAto0DN0W1CrPRzK9QZ9A1aApb4Lg8\\noGlp2c0PbN3LokXe/HzwxCMXx65IDnrenttxzTwp9BgUnUN/3LRzWaOL2UQ/vNYN\\nW9LFLkI1T64UPyI7eyi28YlALhb41xkYhEp7rz+MjqifBzVZeTDUxBYtbK2hAhbY\\nEL1+udwsXEx0KB7xuQ/rbI2OKeqAEAD1tfYg7T/SM2wrXNYhx+o1HtchM4/0I8Ok\\nkk27JQ4y3ofzC5sTySmFF1Y7XcpSd+5WSyazedhkAieo8AB01DkJV6nnKfH8sH0E\\nBsnH3FP8FhqCLrIeEkjX9B9OcIRLGjiZqx4u/ryW1QhMldnv+pFfNjWy/wIDAQAB\\nMA0GCSqGSIb3DQEBCwUAA4IBAQC1hSQG8AwtGOoX2gKBK4Hi5XBrBreij8WlLTUW\\nld0FINQ0Rg84f/27CjDthywj6wgxCesCuOVFhpxQa1UacsP/Gcai1aKABtLWImca\\nWECRYK5gDkwhTMFKM9mXA26hH1l4v/UR2iTpEK9H78egC4W7bs2LDTpPryuaNKTq\\nP2O0tMbNkAHB8yecz5LxHXnxadL9Egow25g2RClvpifWqDnuS9TSbKkIWLcPLjoc\\nJj2K9ILpBwhXiXi/BiSgyYTLiYvVvih9vX4s+hKGZNJc0j92YLiOHDF0XH1oxgdV\\njfTmRiedeb2VZJZElptD92z0AqFR7z2d5B+OqpPA2gjuMLV5\\n-----END CERTIFICATE-----"] |
|
string |
一张有效 PEM X.509 签名证书;示例为 idp.example.com 的公开测试证书,实际接入须替换为外部 IdP 的证书。 |
-----BEGIN CERTIFICATE-----\nMIICwDCCAaigAwIBAgIULlsHLfcADyBax5ZtFlj+YGzZVo0wDQYJKoZIhvcNAQEL\nBQAwGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMB4XDTI2MDEwMTAwMDAwMFoX\nDTM2MDEwMTAwMDAwMFowGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAto0DN0W1CrPRzK9QZ9A1aApb4Lg8\noGlp2c0PbN3LokXe/HzwxCMXx65IDnrenttxzTwp9BgUnUN/3LRzWaOL2UQ/vNYN\nW9LFLkI1T64UPyI7eyi28YlALhb41xkYhEp7rz+MjqifBzVZeTDUxBYtbK2hAhbY\nEL1+udwsXEx0KB7xuQ/rbI2OKeqAEAD1tfYg7T/SM2wrXNYhx+o1HtchM4/0I8Ok\nkk27JQ4y3ofzC5sTySmFF1Y7XcpSd+5WSyazedhkAieo8AB01DkJV6nnKfH8sH0E\nBsnH3FP8FhqCLrIeEkjX9B9OcIRLGjiZqx4u/ryW1QhMldnv+pFfNjWy/wIDAQAB\nMA0GCSqGSIb3DQEBCwUAA4IBAQC1hSQG8AwtGOoX2gKBK4Hi5XBrBreij8WlLTUW\nld0FINQ0Rg84f/27CjDthywj6wgxCesCuOVFhpxQa1UacsP/Gcai1aKABtLWImca\nWECRYK5gDkwhTMFKM9mXA26hH1l4v/UR2iTpEK9H78egC4W7bs2LDTpPryuaNKTq\nP2O0tMbNkAHB8yecz5LxHXnxadL9Egow25g2RClvpifWqDnuS9TSbKkIWLcPLjoc\nJj2K9ILpBwhXiXi/BiSgyYTLiYvVvih9vX4s+hKGZNJc0j92YLiOHDF0XH1oxgdV\njfTmRiedeb2VZJZElptD92z0AqFR7z2d5B+OqpPA2gjuMLV5\n-----END CERTIFICATE----- |
|
| status |
string |
状态。CONFIGURED(配置已受理,等待开通用户池)、SYNCING(正在同步组织成员)、SYNCED(组织成员同步完成)、READY(绑定已生效)、SYNC_FAILED(组织成员同步失败)、UPDATING(正在更新配置)、UPDATE_FAILED(更新配置失败)、DISCONNECTING(正在解绑)、DISCONNECT_FAILED(解绑失败)。 |
READY |
| syncEnabled |
boolean |
是否开启组织成员同步。开启后由该外部身份提供商同步组织成员为工作空间用户。 |
|
| syncScope |
object |
沿用按部门同步范围定义;创建省略默认 AllAuthorized,首次厂商同步由 syncOnBind 决定;更新省略或 null 保留原值,更新保存范围不自动执行全量同步。 |
|
| departmentIds |
array |
SelectedDepartments 时至少包含一个非空部门 ID,应取自 ListIdentityProviderDepartments;AllAuthorized 时传空数组或省略。 |
["10001"] |
|
string |
身份源返回的部门唯一标识,取自 ListIdentityProviderDepartments。 |
10001 |
|
| mode |
string |
AllAuthorized:全部授权范围,受应用通讯录授权限制;SelectedDepartments:选中部门及所有子部门。显式提交 syncScope 时必须提供有效 mode,由后端校验。 |
SelectedDepartments |
| updatedAt |
string |
最近一次修改的时间,采用 RFC 3339 格式的 UTC 时间。 |
2026-08-12T03:04:05Z |
| workspaceId |
string |
工作空间 ID。 |
ws-123456 |
| httpStatusCode |
integer |
HTTP 状态码。 |
200 |
| message |
string |
响应消息。请求失败时返回错误描述。 |
success |
| requestId |
string |
请求 ID。 |
request-123456 |
| success |
boolean |
请求是否成功。 |
示例
正常返回示例
JSON格式
{
"code": "SUCCESS",
"data": {
"configuration": {
"bindingType": "HTTP-Redirect",
"entityId": "https://idp.example.com/entity",
"loginUrl": "https://idp.example.com/sso",
"ssoStatus": "Enabled"
},
"createdAt": "2026-08-12T03:04:05Z",
"eventSubscriptionCallbackUrl": "http://auth.cn-hangzhou.agentteams.aliyuncs.com/roa/dingtalk/event/up-123456",
"identityProviderType": "DingTalk",
"loginCallbackUrl": "https://signin-cn-hangzhou.aliyunagentid.com/up-123456/dingtalk/callback",
"loginEnabled": true,
"metadata": {
"appId": "cli_exampleappid01",
"appKey": "dingexampleappkey01",
"binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect",
"certificates": "MIICwDCCAaigAwIBAgIULlsHLfcADyBax5ZtFlj+YGzZVo0wDQYJKoZIhvcNAQELBQAwGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMB4XDTI2MDEwMTAwMDAwMFoXDTM2MDEwMTAwMDAwMFowGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAto0DN0W1CrPRzK9QZ9A1aApb4Lg8oGlp2c0PbN3LokXe/HzwxCMXx65IDnrenttxzTwp9BgUnUN/3LRzWaOL2UQ/vNYNW9LFLkI1T64UPyI7eyi28YlALhb41xkYhEp7rz+MjqifBzVZeTDUxBYtbK2hAhbYEL1+udwsXEx0KB7xuQ/rbI2OKeqAEAD1tfYg7T/SM2wrXNYhx+o1HtchM4/0I8Okkk27JQ4y3ofzC5sTySmFF1Y7XcpSd+5WSyazedhkAieo8AB01DkJV6nnKfH8sH0EBsnH3FP8FhqCLrIeEkjX9B9OcIRLGjiZqx4u/ryW1QhMldnv+pFfNjWy/wIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQC1hSQG8AwtGOoX2gKBK4Hi5XBrBreij8WlLTUWld0FINQ0Rg84f/27CjDthywj6wgxCesCuOVFhpxQa1UacsP/Gcai1aKABtLWImcaWECRYK5gDkwhTMFKM9mXA26hH1l4v/UR2iTpEK9H78egC4W7bs2LDTpPryuaNKTqP2O0tMbNkAHB8yecz5LxHXnxadL9Egow25g2RClvpifWqDnuS9TSbKkIWLcPLjocJj2K9ILpBwhXiXi/BiSgyYTLiYvVvih9vX4s+hKGZNJc0j92YLiOHDF0XH1oxgdVjfTmRiedeb2VZJZElptD92z0AqFR7z2d5B+OqpPA2gjuMLV5",
"corpId": "dingexamplecorpid01",
"entityId": "https://idp.example.com/entity",
"loginUrl": "https://idp.example.com/sso"
},
"protocol": "SAML",
"saml": {
"bindingType": "HTTP-Redirect",
"entityId": "https://idp.example.com/entity",
"loginUrl": "https://idp.example.com/sso",
"x509Certificates": [
"-----BEGIN CERTIFICATE-----\\nMIICwDCCAaigAwIBAgIULlsHLfcADyBax5ZtFlj+YGzZVo0wDQYJKoZIhvcNAQEL\\nBQAwGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMB4XDTI2MDEwMTAwMDAwMFoX\\nDTM2MDEwMTAwMDAwMFowGjEYMBYGA1UEAwwPaWRwLmV4YW1wbGUuY29tMIIBIjAN\\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAto0DN0W1CrPRzK9QZ9A1aApb4Lg8\\noGlp2c0PbN3LokXe/HzwxCMXx65IDnrenttxzTwp9BgUnUN/3LRzWaOL2UQ/vNYN\\nW9LFLkI1T64UPyI7eyi28YlALhb41xkYhEp7rz+MjqifBzVZeTDUxBYtbK2hAhbY\\nEL1+udwsXEx0KB7xuQ/rbI2OKeqAEAD1tfYg7T/SM2wrXNYhx+o1HtchM4/0I8Ok\\nkk27JQ4y3ofzC5sTySmFF1Y7XcpSd+5WSyazedhkAieo8AB01DkJV6nnKfH8sH0E\\nBsnH3FP8FhqCLrIeEkjX9B9OcIRLGjiZqx4u/ryW1QhMldnv+pFfNjWy/wIDAQAB\\nMA0GCSqGSIb3DQEBCwUAA4IBAQC1hSQG8AwtGOoX2gKBK4Hi5XBrBreij8WlLTUW\\nld0FINQ0Rg84f/27CjDthywj6wgxCesCuOVFhpxQa1UacsP/Gcai1aKABtLWImca\\nWECRYK5gDkwhTMFKM9mXA26hH1l4v/UR2iTpEK9H78egC4W7bs2LDTpPryuaNKTq\\nP2O0tMbNkAHB8yecz5LxHXnxadL9Egow25g2RClvpifWqDnuS9TSbKkIWLcPLjoc\\nJj2K9ILpBwhXiXi/BiSgyYTLiYvVvih9vX4s+hKGZNJc0j92YLiOHDF0XH1oxgdV\\njfTmRiedeb2VZJZElptD92z0AqFR7z2d5B+OqpPA2gjuMLV5\\n-----END CERTIFICATE-----"
]
},
"status": "READY",
"syncEnabled": true,
"syncScope": {
"departmentIds": [
"10001"
],
"mode": "SelectedDepartments"
},
"updatedAt": "2026-08-12T03:04:05Z",
"workspaceId": "ws-123456"
},
"httpStatusCode": 200,
"message": "success",
"requestId": "request-123456",
"success": true
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。