当前位置: 首页 > 知识库问答 >
问题:

使用Keycloak Rest API将用户添加到客户端角色

卞轶
2023-03-14

我试图使用Keycloak rest API向特定用户添加客户端级别的角色。我在邮递员尝试这个,但不断得到404找不到。

https://{keycloak url}/auth/admin/realms/acme/users/b62dc517-0dd8-41ad-9d97-f385e507e279/role-mappings/clients/6b1f23b4-6bec-4873-a991-4b7e49e8b797

url中的“users”参数是keycloak中的用户id(b62dc517-0dd8-41ad-9d97-f385e507e279),url的最后一部分是keycloak中的客户端id(6B1F23B4-6BEC-4873-A991-4B7E49E8B797)

帖子的主体--

{
"roles": [
            {

                "id": "5aee8f8c-421f-4ed4-93d1-2ddd44864f4f",
                "name": "admin",
                "composite": false,
                "clientRole": true,
                "containerId": "5f930328-98bc-40d0-9882-dd7f2482b6c2"
            }
]
}

对于Postman,我设置-Content-type application/jsonAuthorization Bearer{TOKEN}

我哪里出了问题?

编辑:以下是我的邮递员设置-

Content-Length = <calculated when request is sent>
Host = <calculated when request is sent>
User-Agent = PostmanRuntime/7.26.10
Accept = */*
Accept Encoding = gzip, deflate, br
Connection = keep-alive
Content-Type = application/json
 {
   "roles": [
        {

            "id": "5aee8f8c-421f-4ed4-93d1-2ddd44864f4f",
            "name": "admin",
            "composite": false,
            "clientRole": true,
            "containerId": "6b1f23b4-6bec-4873-a991-4b7e49e8b797"
        }
 ]
 }

共有1个答案

陆绪
2023-03-14

问题出在身体上,请尝试以下方法:

[{"id":"5aee8f8c-421f-4ed4-93d1-2ddd44864f4f","name":"admin","composite":false,"clientRole":true,"containerId":"6b1f23b4-6bec-4873-a991-4b7e49e8b797"}]

ID应该是角色ID,而containerID应该是客户端的ID。

 类似资料:
  • 我正试图在我的注册功能中为用户分配一个角色。 通过使用以下代码: 当我试图运行上面的代码时,我得到了以下错误。 E/AndroidRuntime:致命异常:AsyncTask#2进程:info,pid:967 java.lang.runtimeException:在Android.os.AsyncTask$3处执行doInBackground()时发生错误。done(AsyncTask.java:

  • 我想通过postman中的api将角色添加到特定客户端密钥斗篷中的用户,但我得到了“错误”:“client not Found”这个URL:post-http://localhost:8080/auth/admin/realms/{realmName}/users/{userId}/role-mappings/clients/{clientId} 本机构:

  • 我正在使用Spring Boot hibernate制作一个书店rest api,我不知道该如何进行。因此,首先创建用户(使用此处未发布的DTO): 然后他可以登录并搜索他感兴趣的书籍。当他想订购时(使用POST和JSON包含他的书),他应该在我的客户实体中输入他的详细信息(使用DTO): 这是一个好方法吗?我不知道如何才能将用户和客户联系起来- 编辑:澄清: > 用户注册并且只有电子邮件和密码-

  • 我了解如何简单地将“标准”ws-addressing头添加到cxf客户端调用: 但是我不明白如何添加wsa引用参数,以便消息的肥皂剧头如下所示: 如何在cxf客户端调用中添加此标头? 你好,soilworker

  • 该快速入门将展示如何搭建一个 JavaScript 客户端应用程序,其中的用户将登陆到 IdentityServer,使用 IdentityServer 发布的访问令牌调用 Web API,然后从 IdentityServer 注销。 新的 JavaScript 客户端项目 创建一个新的 JavaScript 应用程序项目。这可以是一个简单的空的 Web 项目,或者空的 ASP.NET Core

  • 1. 创建 Maven 工程 服务端部署完毕后,我们可以新建一个 Maven 工程使用 SOFARegistry 提供的服务。首先新建一个 Maven 工程,然后引入如下依赖: <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>registry-client-all</artifactId> <versi