Creating users error: /roles endpoint Keycloak HTTP 404

Creating users error: /roles endpoint Keycloak HTTP 404

我再次在我的 keycloak 服务上通过 restapi 创建用户时遇到了问题。 它正在创建一个用户,但之后没有分配正确的角色。

发现代码在以下部分失败

    private void assignRoleToUser(String userId, String role){
        Keycloak keycloak = getAdminKeycloak();
        UsersResource usersResource = keycloak.realm(realm).users();
        UserResource userResource = usersResource.get(userId);
        ClientResource clientResource =keycloak.realm(realm).clients().get(clientId);
        RoleRepresentation clientRole = clientResource.roles().get(role).toRepresentation(); //<-- here
        userResource.roles().clientLevel(clientId).add(Collections.singletonList(clientRole));
    }

它 returns 给我一个 HTTP 404 错误。深入挖掘,看起来 .roles() 方法失败了。用户是在我的密钥斗篷中创建的,只是没有分配我的角色。 .roles():

@Path("/roles")
    RolesResource roles();

知道如何解决这个问题吗?现在很沮丧。

看来我对 keycloak 令人困惑的 api 设计感到困惑。修复它并提出一个 github 要点:

https://gist.github.com/rosariop/0a689fe221760a3ce9cda77af0255f00