我正在使用Keycloak的JavaScript适配器将Web应用程序与工作场所的SSO连接起来。代码看起来像这样(服务器数据通过它们的keycloak.json文件加载):
const keycloak = Keycloak();
keycloak.init({onLoad: "login-required"}).success(authenticated => {
...
}).error(() => {
...
});
它可以在Firefox和Chrome上正常工作,但是在Internet Explorer(v。11)上,令牌的POST请求返回400 Bad Request。我的Internet Explorer或Keycloak-js本身的配置是否有问题?这是IE的screenshot。
答案 0 :(得分:1)
解决方案非常简单:Keycloak-js要访问的客户端必须为public
,以便可以读取客户端ID并将其发送到服务器。 Cookie中缺少属性或数据缺失(Firefox和Chrome显然可以自行解决),导致Keycloak服务器发送了400错误请求。