Http 我们是否可以在除';硕士学位';?
我可以将用户添加到KeyClope,但只能在主域中添加。有没有一种方法可以将用户添加到master之外的其他领域Http 我们是否可以在除';硕士学位';?,http,exception,keycloak,Http,Exception,Keycloak,我可以将用户添加到KeyClope,但只能在主域中添加。有没有一种方法可以将用户添加到master之外的其他领域 我尝试并收到一个HTTP 401未经授权的异常。听起来您的用户在其他领域没有管理用户的角色 只需转到管理领域,查找您的用户,导航到角色映射选项卡,然后在客户端角色下拉列表中选择正确的领域,然后将管理用户添加为角色。对所有领域重复此操作。401在添加新用户或使用新用户进行身份验证时?即使在我的主领域中,我也看不到“管理用户”角色。我看到了管理员角色,但这个角色在其他领域似乎不可用。@u
我尝试并收到一个HTTP 401未经授权的异常。听起来您的用户在其他领域没有管理用户的
角色
只需转到管理领域,查找您的用户,导航到角色映射
选项卡,然后在客户端角色
下拉列表中选择正确的领域,然后将管理用户
添加为角色。对所有领域重复此操作。401在添加新用户或使用新用户进行身份验证时?即使在我的主领域中,我也看不到“管理用户”角色。我看到了管理员角色,但这个角色在其他领域似乎不可用。@user840930您使用的是哪个keydepot版本?
//Here's how I created a user to my realm using Java
@Override
public UserDto registerNewUserAccount(final UserDto accountDto) {
String keycloakPassword = accountDto.getPassword();
accountDto.setPassword(passwordEncoder.encode(accountDto.getPassword()));
accountDto.setEnabled(1);
UserDto user = userRepository.save(accountDto);
AuthorityDto role = new AuthorityDto();
role.setUserName(accountDto.getLogin());
role.setAuthority("ROLE_USER");
authorityRepository.save(role);
Keycloak kc = Keycloak.getInstance(
"https://www.zdslogic.com/keycloak/auth", /your server
"zdslogic", //your realm
"richard.campion", //user
"Changit", //password
"admin-cli"); //client
CredentialRepresentation credential = new CredentialRepresentation();
credential.setType(CredentialRepresentation.PASSWORD);
credential.setValue(keycloakPassword);
UserRepresentation keycloakUser = new UserRepresentation();
keycloakUser.setUsername(accountDto.getLogin());
keycloakUser.setFirstName(accountDto.getFirstName());
keycloakUser.setLastName(accountDto.getLastName());
keycloakUser.setEmail(accountDto.getEmail());
keycloakUser.setCredentials(Arrays.asList(credential));
keycloakUser.setEnabled(true);
keycloakUser.setRealmRoles(Arrays.asList("user"));
// Get realm
RealmResource realmResource = kc.realm("zdslogic");
UsersResource usersRessource = realmResource.users();
// Create Keycloak user
Response result = null;
try {
result = usersRessource.create(keycloakUser);
} catch(Exception e) {
System.out.println(e);
}
if (result==null || result.getStatus() != 201) {
System.err.println("Couldn't create Keycloak user.");
}else{
System.out.println("Keycloak user created.... verify in keycloak!");
}
return user;
}