无法使 Keycloak Tomcat 7 适配器​​工作(版本 3.4.3.Final)

Cannot get Keycloak Tomcat 7 adapter to work (version 3.4.3.Final)

我有一个 Spring Boot 1.5.2 Web 应用程序打包为 .war 托管在 Apache Tomcat 7.0.68.

我想使用 Keycloak Tomcat 适配器,但我在配置中包含的每个端点上都遇到 HTTP 401 returns... 我使用的是 3.4.3.Final 版本。

我已阅读文档 @ http://www.keycloak.org/docs/2.5/securing_apps/topics/oidc/java/tomcat-adapter.html

事实:

(简单测试 uma_authorization,每个用户都有的角色)

结论: 每个端点上的 HTTP 200 除了 /customer/* 我得到 HTTP 401。

有趣的事情,在调试中,我检测到变量 account 总是在 CatalinaSessionTokenStore 的第 61 行 null class(来自 Tomcat Keycloak 适配器依赖项):

Session catalinaSession = request.getSessionInternal(false);
if (catalinaSession == null) return;
SerializableKeycloakAccount account = (SerializableKeycloakAccount) catalinaSession.getSession().getAttribute(SerializableKeycloakAccount.class.getName());
if (account == null) {
    return;
}
(... next lines are to control the content of the Keycloak context)

即使启用了 TRACE 级别,Tomcat 日志中也没有任何内容。

我是不是忘记配置什么了?这是一个错误吗?

谢谢

找到。在我的 keycloak.json 中,从 :

切换
"auth-server-url" : "http://<keycloak_server>.fr:8443/auth"

收件人:

"auth-server-url" : "https://<keycloak_server>.fr:8443/auth"

没有日志,没有错误... 遗憾的是,Keycloak 适配器配置记录如此糟糕,几乎 non-existent...