我需要根据在浏览器中输入的租户名称来调用多个领域。现在,我们正在根据租户名称创建不同的JSON文件。但是我需要直接从Keycloak服务器调用keycloak.json,而不是放置虚拟json。
前端使用的是Angular 7。
答案 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);
}
我只共享基本代码,由于版权问题,我不能共享全部代码。