1

我再次在我的 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));
    }

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

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

知道如何解决这个问题吗?到现在心里很郁闷。

4

1 回答 1

0

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

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

于 2020-10-31T21:19:07.897 回答