我还尝试了 Web 来源和有效重定向 URI 的所有不同组合
我通过 keycloak 登录,它不断地在我的本地主机应用程序和这个 url 之间来回重定向我:http://localhost:4200/#state=166446fd-daf6-4b76-b595-583c01c663df&session_state=57ead1f3-bf41-4117-code237ed7d =8692b58b-0868-4762-b82e-acde9911dd34.57ead1f3-bf41-4117-9ddf-75e37c9248e7.1e8b5b9d-b590-453e-b496-182b9cc
我已经在 firefox 和 chrome 上尝试过,但遇到了同样的问题——它似乎在网络选项卡中寻找 keycloak.json 文件,即使我可以通过 keycloak 登录到正确的领域
GET http://localhost:4200/keycloak.json 404 (Not Found) scheduleTask @ zone.js:2969
错误 Keycloak 初始化期间发生错误。core.js:1601
未处理的承诺拒绝:Keycloak 初始化期间发生错误。; 区域: ; 任务: Promise.then ;值:Keycloak 初始化期间发生错误。不明确的
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();
});
});
}
Run Code Online (Sandbox Code Playgroud)
如果你们中的一个人能指出我解决这个问题的正确方向,那就太好了......
我发现了另一个与我所问链接类似的问题,但不确定如何实施此解决方案!这是我的提供商设置 -
providers: [
{
provide: APP_INITIALIZER,
useFactory: initializer,
multi: true,
deps: [KeycloakService]
}
],
但OP将以下内容放入他的提供者中
providers: [
KeyCloakService,
AssetService,
{
provide: LocationStrategy,
useClass: PathLocationStrategy
}
]
如果您需要任何其他信息,请告诉我
对于遇到同样问题的任何人 - 我误解了 keycloak.json 文件并且不知道在哪里获取它 - 所以我从 keycloak 导出完整的 json 文件,但这不是你应该得到它的方式!
首先,您必须转到您的领域>客户端并单击安装
然后下载keycloak OIDC json文件
然后将其放置在应用程序中的index.html 文件旁边
这解决了我的问题 - 希望它对其他人有帮助
| 归档时间: |
|
| 查看次数: |
2740 次 |
| 最近记录: |