在keycloak中创造境界

时间:2018-04-11 06:25:30

标签: java keycloak keycloak-services

我正在尝试使用java在keycloak中创建领域。我能够从master领域创建领域,但不能使用其他领域的凭据。

是否只能从主域创建领域?谁能帮我? 提前致谢

2 个答案:

答案 0 :(得分:0)

文档说管理员在主要领域的主要作用是创建其他领域:

  

为超级管理员保留使用主域来创建和管理系统中的域。遵循此安全模型有助于防止意外更改,并遵循允许用户帐户仅访问成功完成其当前任务所需的权限和权限的传统。   (https://www.keycloak.org/docs/latest/server_admin/index.html#the-master-realm

所以是的,相反,我认为这意味着除了master之外的领域的管理员不能创建或删除领域。

使用主域是否有问题?您可以在那里创建一个专用用户,如果您不想使用"超级管理员"那么他们只有创建/删除领域的权限。为了这个任务。

答案 1 :(得分:0)

我认为玛丽安说的是真的,你必须有一个"主人"领域和管理员用户(keycloak.admin.username = admin,keycloak.admin.password = admin_password)。你可以改变这些字符串

public boolean createRealm(String realmName) throws IOException {
    Keycloak keycloak = KeycloakInstance.getInstance();
    RealmRepresentation realmRepresentation = new RealmRepresentation();
    realmRepresentation.setId(realmName);
    realmRepresentation.setRealm(realmName);
    realmRepresentation.setEnabled(true);
    try {
        keycloak.realms().create(realmRepresentation);
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    return true;
}