1

我正在尝试在 Keycloak 中创建一个自定义注册表单,它将创建用户并根据团队下拉选择将他们分配给一个组。这是我的问题的一个示例:
我有多个团队将使用 keycloak,每个团队将在 keycloak 中拥有自己的组,映射出他们需要访问的所有角色。Grafana 是一款将使用 keycloak 身份验证的应用程序。当用户去 Grafana 并尝试通过 keycloak 注册新帐户时,它会创建用户,但由于该用户未分配到组,因此他们在 Grafana 中出现错误页面,因为他们没有任何权限.
我试图限制在注册后将数百名用户分配到组的手动工作量。我无权访问 LDAP 或 Active Directory。

这是我在自定义 register.ftl 模板中尝试过的示例。

        <div class="${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('team',properties.kcFormGroupErrorClass!)}">
            <div class="${properties.kcLabelWrapperClass!}">
                <label for="groups" class="${properties.kcLabelClass!}">Team</label>
            </div>

            <div class="${properties.kcInputWrapperClass!}">
                <select class="${properties.kcInputClass!}" id="groups" name="groups" value="${(register.formData['groups']!'')}">
                    <option value="group1">Group 1</option>
                    <option value="group2">Group 2</option>
                    <option value="group3">Group 3</option>
                </select>

            </div>
        </div>

我成功地将组添加为用户属性,然后认为我可以执行一个脚本,然后使用其余 API 来分配组,但我也没有太多运气。我不想将每个人都分配到默认的“仅查看”组,因为某些组不需要能够查看我们将使用的所有应用程序。

如果有人有任何想法或可以帮助我指出正确的方向,请告诉我。我对 HTML 和 Javascript 的了解有限,但对 Python 有一定的了解。

4

0 回答 0