我正在为我的组织创建一个“开发人员门户”,用户可以在该组织中进行自注册并创建使用公共API的应用程序。这些公共API由自定义角色标记。
一切正常,罚款99%。用户可以自行注册,创建应用,生成密钥,订阅API等...丢失的1%是“ PublicAPI”角色的“分配”!
环顾四周,我发现this article here确实显示了我打算做什么,但是它使用SOAP,并且我想知道是否有使用REST请求的方法吗?
答案 0 :(得分:1)
您可以通过SCIM2 API来实现,您可以在其中将用户分配给角色/组。您可以按此处[1]所述为组端点执行PATCH操作。 有效负载示例如下,
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"value": {
"members": [
{
"display": "user",
"$ref": "https://localhost:9443/scim2/Users/a39fe03c-8d57-4b4c-a69d-5160c2384bea",
"value": "a39fe03c-8d57-4b4c-a69d-ddddddd"
}
]
}
}
]
}
[1] https://docs.wso2.com/display/IS570/apidocs/SCIM2-endpoints/#!/operations#GroupsEndpoint#patchGroup
答案 1 :(得分:0)
您需要的功能没有开箱即用的REST API实现。
目前,您正在做的是通过SOAP消息调用与您的功能相关的Admin-service。这些管理服务是可通过SOAP请求调用的OSGI服务。
如果需要通过REST API访问它们,则必须创建一个基于JAX-RS的Web应用程序(这不是一项复杂的任务),这将消耗OSGi服务。这样您就可以通过REST-API访问Webapp,并且该Webapp将使用OSGi服务并为您完成功能。
我强烈建议您继续创建一个Web应用程序,因为它听起来并不复杂。
您可以在链接[1]中找到RegistryAdminService的Web应用程序构建(Web应用程序使用与RegistryAdmin相关的OSGi服务)。
要获得包括创建此类网络应用程序的示例代码在内的完整指南,请参考以下链接[2]。
[1]-https://github.com/abeykoon/Blog-Resources
干杯!