SCIM API
引入于极狐GitLab 15.5。
极狐GitLab SCIM API 管理群组内的 SCIM 身份并提供 /Users
端点。基本 URL 为 /api/scim/v2/groups/:group_path/Users/
。
要使用此 API,必须为群组启用群组 SSO。 此 API 仅在启用群组 SSO 的 SCIM 的情况下使用。这是创建 SCIM 身份的先决条件。
此 API 不同于内部群组 SCIM API 和实例 SCIM API:
- 这个 API:
- 不实现 RFC7644 协议。
- 获取、检查、更新和删除群组内的 SCIM 身份。
- 内部群组和实例 SCIM API:
- 用于 SCIM 提供商集成的系统。
- 实施 RFC7644协议。
- 获取群组或实例的 SCIM 配置用户列表。
- 为群组或实例创建、删除和更新 SCIM 配置用户。
获取群组的 SCIM 身份
引入于极狐GitLab 15.5。
GET /groups/:id/scim/identities
支持的参数:
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer/string | Yes | 群组 ID 或 URL 编码的路径 |
如果成功,则返回 200
和以下响应参数:
参数 | 类型 | 描述 |
---|---|---|
extern_uid |
string | 用户的外部 UID |
user_id |
integer | 用户 ID |
active |
boolean | 身份状态 |
响应示例:
[
{
"extern_uid": "4",
"user_id": 48,
"active": true
}
]
请求示例:
curl --location --request GET "https://gitlab.example.com/api/v4/groups/33/scim/identities" \
--header "PRIVATE-TOKEN: <PRIVATE-TOKEN>"
获取单个 SCIM 身份
引入于极狐GitLab 16.1。
GET /groups/:id/scim/:uid
支持的参数:
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer | yes | 群组 ID 或 URL 编码的路径 |
uid |
string | yes | 用户的外部 UID |
请求示例:
curl --location --request GET "https://gitlab.example.com/api/v4/groups/33/scim/sydney_jones" --header "PRIVATE-TOKEN: <PRIVATE TOKEN>"
响应示例:
{
"extern_uid": "4",
"user_id": 48,
"active": true
}
更新 SCIM 身份的 extern_uid
字段
引入于极狐GitLab 15.5。
可以更新的字段为:
SCIM/IdP 字段 | 极狐GitLab 字段 |
---|---|
id/externalId |
extern_uid |
PATCH /groups/:groups_id/scim/:uid
参数:
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer/string | yes | 群组 ID 或 URL 编码的路径 |
uid |
string | yes | 用户的外部 UID |
请求示例:
curl --location --request PATCH "https://gitlab.example.com/api/v4/groups/33/scim/sydney_jones" \
--header "PRIVATE-TOKEN: <PRIVATE TOKEN>" \
--form "extern_uid=sydney_jones_new"
删除单个 SCIM 身份
引入于极狐GitLab 16.5。
DELETE /groups/:id/scim/:uid
支持的参数:
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id |
integer | yes | 群组 ID 或 URL 编码的路径 |
uid |
string | yes | 用户的外部 UID |
请求示例:
curl --request DELETE --header "Content-Type: application/json" --header "Authorization: Bearer <your_access_token>" "https://gitlab.example.com/api/v4/groups/33/scim/sydney_jones"
响应示例:
{
"message" : "204 No Content"
}