Keycloak 从KeyClope的密码策略中排除具有领域管理角色的用户

Keycloak 从KeyClope的密码策略中排除具有领域管理角色的用户,keycloak,java-client,password-policy,Keycloak,Java Client,Password Policy,我有一个用户在一个包含密码策略的领域中使用客户端角色领域管理。 我想将此用户从密码策略中排除,因为我使用此用户执行一些操作获取角色通过Java API获取所有用户,并且我不希望在需要更新密码时删除所有操作。 我试图使用主领域的管理员用户,但没有得到任何结果 有什么想法吗 当您使用密码策略在KeyClope中创建一个域,并且希望将管理员用户从该策略中排除时,请执行以下步骤: 当用户创建新的领域时,例如FooRealm KeyClope在主领域中添加了带有后缀-realm的兄弟客户端,在本例中,我们

我有一个用户在一个包含密码策略的领域中使用客户端角色领域管理。 我想将此用户从密码策略中排除,因为我使用此用户执行一些操作获取角色通过Java API获取所有用户,并且我不希望在需要更新密码时删除所有操作。 我试图使用主领域的管理员用户,但没有得到任何结果


有什么想法吗

当您使用密码策略在KeyClope中创建一个域,并且希望将管理员用户从该策略中排除时,请执行以下步骤:

当用户创建新的领域时,例如FooRealm KeyClope在主领域中添加了带有后缀-realm的兄弟客户端,在本例中,我们将看到FooRealm领域

1-在这个客户机中,FooRealm执行这些更改

访问类型=机密 标准流启用=直接访问 授权启用=打开 2-在主域内创建用户,在用户详细信息中,转到:

角色映射>>客户端角色,然后从下拉菜单中选择同级客户端 FooRealm领域,并确保它拥有其中的所有角色 3-现在从从属领域获取所有用户

Keycloak keycloak = KeycloakBuilder.builder()
        .serverUrl("http://localhost/auth")
        .realm("master")
        .grantType(OAuth2Constants.PASSWORD)
        .clientId(FooRealm-realm)
        .clientSecret("7f0080cf-xxxx-xxxxx-9115-xxxxxxxxxx")
        .username("sysadmin")
        .password("x123456")
        .build();
RealmResource realmResource = keycloak.realm("FooRealm");

realmResource.users().list(0, 1000);