我在 Azure AD 中为企业应用程序设置了用户和组预配。我的应用程序中有一个 SCIM 终结点设置,用于使用来自 Azure AD 的 SCIM 请求。我将此功能标志添加到我的租户 URL 以确保 SCIM 合规性:https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/application-provisioning-config-problem-scim-compatibility #改变 scim 行为的标志
我有一个分配给企业应用程序的组来配置我的应用程序。当我将用户添加到 Azure AD 中的该组时,我看到两个针对
Groups/:id
SCIM 端点的 PATCH 请求。第一个是添加操作,这是我所期望的,因为我将此用户添加为组的成员:
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"path": "members",
"value": [
{
"value": "directory_user_01F7SGPZHKVGHZMCRNHGJXW1E9"
}
]
}
]
}
第二个 PATCH 请求是替换操作,这是意外的,因为我没有用添加的一个成员替换组中的所有用户:
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "members",
"value": [
{
"value": "directory_user_01F7SGPZHKVGHZMCRNHGJXW1E9"
}
]
}
]
}
SCIM 协议 RFC 概述了 PATCH 请求中添加和替换操作之间的差异。如果将用户添加为组的成员,则应该只有添加操作,而不是替换操作。有没有办法配置Azure,使其在这种情况下只发送添加操作?谢谢!
我认为这是 GET 组响应的问题。我从 GET 响应中删除了“成员”,它解决了问题。