如何更新单个用户';使用WSO2 SCIM 2.0 REST API的s组?

如何更新单个用户';使用WSO2 SCIM 2.0 REST API的s组?,wso2,wso2is,Wso2,Wso2is,我正在尝试用一组全新的组替换单个用户的组。我能够使用API将用户添加到组中,并从组中删除用户 但是,我想用一个新的数组完全替换这些组,这样就不必在每个组中单独添加/删除用户。我已尝试使用以下请求 POST{url}/scim2/Users/{groupID} 与以下邮政机构 { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "

我正在尝试用一组全新的组替换单个用户的组。我能够使用API将用户添加到组中,并从组中删除用户

但是,我想用一个新的数组完全替换这些组,这样就不必在每个组中单独添加/删除用户。我已尝试使用以下请求

POST{url}/scim2/Users/{groupID}

与以下邮政机构

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "value": {
                "groups": [
                    {
                        "display": "group1",
                        "value": "092555e8-1636-4642-924e-27aef49757fe"
                    },
                    {
                        "display": "group2",
                        "value": "b0d42429-67e2-4447-9846-2b001add431f"
                    }
                ]
            }
        }
    ]
}
然而,返回的响应是

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:Error"
    ],
    "detail": "Error in performing the add operation",
    "status": "500"
}

如何实现这一点?

POST{url}/scim2/Users/{groupID}

这样的端点并不存在。您可能必须坚持使用
/Groups补丁
操作才能添加或删除用户角色。(在本例中以编程方式迭代请求。)

POST{url}/scim2/Users/{groupID}

这样的端点并不存在。您可能必须坚持使用
/Groups补丁
操作才能添加或删除用户角色。(在本例中以编程方式迭代请求。)

POST{url}/scim2/Users/{groupID}
请求将不起作用,因为没有这样的端点。我认为您试图用补丁操作替换用户资源的
属性。如果是这样,请求将是
PATCH{url}/scim2/Users/{userId}
。 但是,由于以下原因,这不起作用

  • 根据SCIM规范(请参见中的组描述),应使用/groups端点管理用户的groups属性

    直接组成员身份表示用户与组直接关联,应表示客户端可以通过“组”资源修改成员身份

  • 用户资源的groups属性也是一个
    只读属性。因此,不能使用
    PATCH/User
    endpoint修改它。()WSO2中的架构定义为:


  • 因此,您必须使用
    PATCH/Groups
    端点来修改用户的组详细信息。

    POST{url}/scim2/Users/{groupID}
    请求将不起作用,因为没有这样的端点。我认为您试图用补丁操作替换用户资源的
    属性。如果是这样,请求将是
    PATCH{url}/scim2/Users/{userId}
    。 但是,由于以下原因,这不起作用

  • 根据SCIM规范(请参见中的组描述),应使用/groups端点管理用户的groups属性

    直接组成员身份表示用户与组直接关联,应表示客户端可以通过“组”资源修改成员身份

  • 用户资源的groups属性也是一个
    只读属性。因此,不能使用
    PATCH/User
    endpoint修改它。()WSO2中的架构定义为:


  • 因此,您必须使用
    PATCH/Groups
    endpoint来修改用户的组详细信息。

    这也是我们在项目中使用的解决方案。但我们目前正面临着这一方法的问题。为了向替换旧角色的用户添加新角色,我们当前正在添加该角色,然后删除现有角色(最终类似于更新)。在过去的一年里,它一直运转顺利。但随着用户数量的增加,修补程序/组没有响应,api出现超时错误。您能否建议一种方法来更新单个用户的角色而不影响整个组@anuradhaIf你可以给出一个解决方案,请随时添加它作为一个答案,这是我们也在我们的项目中使用的解决方案。但我们目前正面临着这一方法的问题。为了向替换旧角色的用户添加新角色,我们当前正在添加该角色,然后删除现有角色(最终类似于更新)。在过去的一年里,它一直运转顺利。但随着用户数量的增加,修补程序/组没有响应,api出现超时错误。您能否建议一种方法来更新单个用户的角色而不影响整个组@如果你能给出一个解决方案,请随意添加它作为答案,这是我们也找到的唯一解决方案。但如果用户基数高,它也有缺点。你能阅读我的问题吗?如果你能给出一个解决方案,请随意添加它作为答案,并提出任何有助于解决问题的解决方案@Nipun提前感谢这是我们也找到的唯一解决方案。但如果用户基数高,它也有缺点。你能阅读我的问题吗?如果你能给出一个解决方案,请随意添加它作为答案,并提出任何有助于解决问题的解决方案@尼普:提前谢谢你