Keycloak javascript适配器`keycloak.init`加载404 iframe

mor*_*999 9 javascript keycloak

我正在尝试使用 javascript 适配器为我的客户端应用程序集成 Keycloak keycloak-js

但是,我似乎无法让它发挥作用。这是我的代码

const keycloak = new Keycloak({
    realm: 'my-realm',
    url: 'http://localhost:8080/auth/',
    clientId: 'my-client',
});

try {
    const authenticated = await keycloak.init();
    console.log(authenticated);
} catch (e) {
    console.log(e);
}
Run Code Online (Sandbox Code Playgroud)

它不返回任何内容,甚至不返回错误或回调中的任何内容。我只有 GET http://localhost:8080/auth/realms/my-realm/protocol/openid-connect/3p-cookies/step1.html 404 (Not Found) 不知道我做错了什么?我遵循文档,但找不到有关此行为的任何信息如果我在浏览器中键入上面的 url,我会看到这个

在此处输入图片说明

有什么我可以做的吗?

编辑:我设法通过将 keycloak 服务器与 keycloak-js 版本匹配来使用此代码使其工作。将服务器和 keycloak-js 版本升级到 11.0.2 对我有用,并且将两个版本都降级到 10.0.2

这是我正在使用的客户端配置 在此处输入图片说明

在上面的代码示例中,我可以在开发工具中看到console.log(isAuthorised);return false,如果我这样做const isAuthorised = await keycloak.init({ onLoad: 'login-required' });,它会将我重定向到登录页面,并在登录成功后将我重定向回此页面。希望这可以帮助。

小智 7

这可能是keycloak-js您的 keycloak 服务器之间的版本不匹配。我使用的是带有 keycloak 服务器版本的最新keycloak-js版本,这导致了这个确切的错误。在客户端降级为我做了诀窍。(还没有尝试升级 keycloak 服务器,但很可能也能正常工作)11.0.010.0.1keycloak-js10.0.2