Keycloak 如何解决angular7项目中的KeyClope刷新/状态-I';我用钥匙斗篷
我还尝试了web源和有效重定向URI的所有不同组合 我通过KeyClope登录,它不断地在我的本地主机应用程序和此url之间来回重定向我: 我已经在firefox和chrome上试用过了,但也遇到了同样的问题——它似乎在网络选项卡中寻找keydove.json文件,尽管我可以通过keydove登录到正确的领域 获取404(未找到) scheduleTask@zone.js:2969 错误密钥斗篷初始化期间发生错误。core.js:1601 未处理的承诺拒绝:在KeyClope初始化期间发生错误;区域:;任务:承诺;值:KeyClope初始化期间发生错误。未定义Keycloak 如何解决angular7项目中的KeyClope刷新/状态-I';我用钥匙斗篷,keycloak,angular7,Keycloak,Angular7,我还尝试了web源和有效重定向URI的所有不同组合 我通过KeyClope登录,它不断地在我的本地主机应用程序和此url之间来回重定向我: 我已经在firefox和chrome上试用过了,但也遇到了同样的问题——它似乎在网络选项卡中寻找keydove.json文件,尽管我可以通过keydove登录到正确的领域 获取404(未找到) scheduleTask@zone.js:2969 错误密钥斗篷初始化期间发生错误。core.js:1601 未处理的承诺拒绝:在KeyClope初始化期间发生错误;
static init(): Promise<any> {
const keycloakAuth: any = Keycloak({
url: 'http://localhost:8080/auth',
realm: 'ContractPortal',
clientId: 'secretkey2',
'ssl-required': 'external',
'public-client': true
});
KeycloakService.auth.loggedIn = false;
return new Promise((resolve, reject) => {
keycloakAuth.init({onLoad: 'login-required'})
.success(() => {
console.log(keycloakAuth);
KeycloakService.auth.loggedIn = true;
KeycloakService.auth.authz = keycloakAuth;
KeycloakService.auth.logoutUrl = keycloakAuth.authServerUrl
+ '/realms/angular_keycloak/protocol/openid-connect/logout?redirect_uri='
+ document.baseURI;
resolve();
})
.error(() => {
reject();
});
});
}
static init():承诺但不确定如何实现此解决方案!这是我的提供商设置-
提供者:[
{
提供:应用程序初始化器,
useFactory:初始值设定项,
多:是的,
副秘书:[钥匙服务]
}
],
但是OP在他的提供者中添加了以下内容
提供者:[
钥匙服务,
资产服务,
{
提供:定位策略,
useClass:PathLocationStrategy
}
]
如果您需要为遇到相同问题的任何人提供任何其他信息,请告诉我-我误解了keydepot.json文件,不知道从何处获取它-因此我从keydepot导出了完整的json文件,但这不是您应该获得它的方式
首先,你必须进入你的领域>客户端并点击安装
- 然后下载keydape OIDC json文件
- 然后将其放在应用程序中index.html文件的旁边
这解决了我的问题-希望它能帮助其他人我在互联网上进行研究,情况也是如此,对我来说,我的角度页面会在Infine循环中自动重新加载
我在keydape-init.ts文件中做了一些更改(请查找以下代码并将checkLoginIframe从true更改为false)
旧代码:keydape.init({onLoad:'login required',“checkLoginIframe”:true})
新代码:keydape.init({onLoad:'login required',“checkLoginIframe”:false})