如何在WSO2 IS 5.9.0中通过SCIM2 API创建用户时添加角色/组
在WSO2 IS 5.9.0中用SCIM2 API处理用户与组/角色关联
我来帮你理清两种场景下的操作方法,直接上实用的请求示例:
一、创建用户时直接绑定角色/组
在WSO2 IS里,角色和组在SCIM规范里是通过groups字段关联的,你可以在创建用户的请求里直接加入这个字段,一步到位把用户加到目标组里。
基于你提供的原始请求载荷,我帮你修改后加入组关联的内容,你只需要替换组的ID即可:
{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "name": { "familyName": "jackson", "givenName": "kim" }, "userName": "test2", "password": "abc123", "postalcode": "56789", "profileUrl": "gmail.com", "emails": [ { "type": "default", "value": "a@gmail.com" }, { "value": "kim.jackson@gmail.com", "type": "home" }, { "value": "kim_j@wso2.com", "type": "work" } ], "groups": [ { "value": "这里替换成你的组ID", // 比如通过GET /scim2/Groups查到的组id值 "display": "TestGroup" // 组的名称,可选填 } ] }
小贴士:如果不知道组ID,可以先调用
GET https://localhost:9443/scim2/Groups接口查询所有组,从响应里拿到目标组的id字段值。
二、用户创建完成后,再添加到已存在的组
如果已经创建好用户了,后续要把他加到组里,有两种常用方法:
方法1:更新组的成员列表(推荐)
直接对目标组做PATCH操作,把用户添加到成员列表里:
- 请求URL:
https://localhost:9443/scim2/Groups/{你的组ID} - 请求方法:
PATCH - 请求头:
Content-Type: application/scim+json - 请求载荷:
{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "add", "path": "members", "value": [ { "value": "test2用户的ID", // 创建用户时响应里的id字段,或通过GET /scim2/Users?filter=userName eq "test2"查询 "display": "test2" } ] } ] }
方法2:更新用户的组关联
也可以直接对用户做PATCH操作,给他新增组关联:
- 请求URL:
https://localhost:9443/scim2/Users/{test2用户的ID} - 请求方法:
PATCH - 请求头:
Content-Type: application/scim+json - 请求载荷:
{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "add", "path": "groups", "value": [ { "value": "你的组ID", "display": "TestGroup" } ] } ] }
内容的提问来源于stack exchange,提问作者Aman Prakash
相关产品推荐
相关产品推荐

