WSO2 Rest Api->如何将用户添加到角色?

时间:2019-11-25 19:57:59

标签: wso2 wso2is

我正在为我的组织创建一个“开发人员门户”,用户可以在该组织中进行自注册并创建使用公共API的应用程序。这些公共API由自定义角色标记。

一切正常,罚款99%。用户可以自行注册,创建应用,生成密钥,订阅API等...丢失的1%是“ PublicAPI”角色的“分配”!

环顾四周,我发现this article here确实显示了我打算做什么,但是它使用SOAP,并且我想知道是否有使用REST请求的方法吗?

2 个答案:

答案 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

[2]-https://wso2.com/library/articles/2016/10/article-exposing-wso2-identity-server-admin-services-the-rest-way/

干杯!