如何动态调用多个领域?

时间:2019-12-11 07:41:19

标签: angular keycloak keycloak-services

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

前端使用的是Angular 7。

1 个答案:

答案 0 :(得分:1)

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

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

初始化Keycloak和引导程序

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);
    }

我只共享基本代码,由于版权问题,我不能共享全部代码。