如何更新单个用户';使用WSO2 SCIM REST API创建组而不使用修补程序/组,因为当用户计数较高时会导致超时?
我们正在使用WSO2 SCIM API为用户定义角色并对其进行更新。 对于角色更新操作,我们当前正在添加新用户角色(使用SCIM api将用户添加到新角色组),然后删除现有用户角色(调用用户SCIM获取组下的请求,从列表中删除现有用户,并使用新创建的列表作为主体参数来调用组的SCIM补丁请求)。使用此方法,我们可以更新角色。但随着用户基数的增加,修补操作的上述方法出现超时错误。(新角色将更新为用户,但现有角色将持续存在,因为第二个api将失败) 下面是我尝试过的一个解决方案: 添加新角色,删除用户详细信息中新创建的角色,并使用更新后的用户角色调用修补程序api。但在进一步调查后发现,用户内部的角色是只读的,无法使用修补程序/放置操作进行更新。因此,我未能获得正确的解决方案如何更新单个用户';使用WSO2 SCIM REST API创建组而不使用修补程序/组,因为当用户计数较高时会导致超时?,wso2,wso2is,wso2carbon,scim,Wso2,Wso2is,Wso2carbon,Scim,我们正在使用WSO2 SCIM API为用户定义角色并对其进行更新。 对于角色更新操作,我们当前正在添加新用户角色(使用SCIM api将用户添加到新角色组),然后删除现有用户角色(调用用户SCIM获取组下的请求,从列表中删除现有用户,并使用新创建的列表作为主体参数来调用组的SCIM补丁请求)。使用此方法,我们可以更新角色。但随着用户基数的增加,修补操作的上述方法出现超时错误。(新角色将更新为用户,但现有角色将持续存在,因为第二个api将失败) 下面是我尝试过的一个解决方案: 添加新角色,删除用
有没有一种方法可以在不使用修补程序/组端点的情况下更新组内单个用户的角色?正如我在回答中提到的,SCIM规范不允许使用
PATCH/Users/{userId}
更新用户的组属性
另外,PATCH/Groups/{groupId}
在组成员计数过高时可能会导致性能问题
WSO2 IS在一定程度上提高了PATCH/Groups/{groupId}
的性能
更新: 您可以使用SCIM
POST/Bulk
endpoint通过单个REST调用来更新用户组,而不是使用多个PATCH/groups/{groupid}
调用。
有关批量终结点的更多详细信息,请参阅
例如:
要将两个组(组1和组2)分配给用户,请使用与以下类似的有效负载执行POST https://:/scim2/Bulk
{
"Operations": [
{
"data": {
"Operations": [
{
"op": "add",
"value": {
"members": [
{
"display": "anuradha",
"value": "db15b161-a205-454d-9da1-4a2a0df0585e"
}
]
}
}
]
},
"method": "PATCH",
"path": "/Groups/f707b6cc-91f8-4b8a-97fb-a01c2a79515c"
},
{
"data": {
"Operations": [
{
"op": "add",
"value": {
"members": [
{
"display": "anuradha",
"value": "db15b161-a205-454d-9da1-4a2a0df0585e"
}
]
}
}
]
},
"method": "PATCH",
"path": "/Groups/8c91215f-1b7a-4cdb-87d9-ae29c60d70de"
}
],
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:BulkRequest"
]
}
感谢您的回答@anuradha。我认为5.11是最新的稳定版本。除此之外,无法找到任何其他解决方案。@Aruns请查看更新的答案。它将对您有所帮助。