如何动态调用多个realm?

How to call multiple realms dynamically?

我需要根据在浏览器中输入的租户名称调用多个领域。现在我们正在做的是根据租户名称创建不同的 JSON 文件。但我需要直接从 Keycloak 服务器调用 keycloak.json 而不是放置虚拟 json.

前端使用的是Angular7.

所以这是一个可以通过对当前设计进行一些更改来实现的解决方案 第一个 用户将输入 url 类似 https://<IP>:<PORT>/<GUI-PATH>?tenantId=<TenatID> 现在在你的 Java 脚本代码中调用 rest api 这将为你提供 realmname/client-id 的详细信息和其他 keycloak 相关信息

将此信息传递给您的 keycloak.js 适配器,keycloak.js 将检查所有详细信息并重定向到登录页面。

初始化 Keycloak 和 bootstrap 应用程序

function loadApp(keyCloakObj) {
        var script = document.createElement('script');
        script.onload = function(){
            initiializeApp(keyCloakObj)
        }
        script.src = keycloakObj.url.split("auth")[0] + "auth/js/keycloak.js";
        script.onerror = function () {
            var script = document.createElement('script');
            script.onload = function(){
                initiializeApp(keyCloakObj)
            }
            script.src = "app/auth/keycloak.js"
            document.head.appendChild(script);
        }
        document.head.appendChild(script);
    }

我只是分享基本代码,由于版权问题无法分享完整的代码流程。