1

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

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

4

2 回答 2

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;
}
于 2018-04-12T07:32:41.827 回答
0

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

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

所以是的,相反,我将此解释为意味着除 master 之外的领域管理员无法创建或删除领域。

使用主域对你来说有问题吗?如果您不想为此任务使用“超级管理员”,您可以在那里创建一个仅有权创建/删除领域的专用用户。

于 2018-04-12T07:14:32.790 回答