【问题标题】:Apache Karaf/Fuse integration with KeycloakApache Karaf/Fuse 与 Keycloak 的集成
【发布时间】:2020-05-28 22:31:33
【问题描述】:

我在 Karaf (4.2.8) 和 Fuse (7.5.0) 上集成 Keycloak 时遇到了困难。我分别尝试对它们进行集成,但没有成功。

在第一种情况下,我安装 Fuse (7.5.0),然后我添加 keycloak osgi 功能:

feature:repo-add mvn:org.keycloak/keycloak-osgi-features/8.0.1/xml/features
feature:install keycloak-jaas

接下来,我将具有适当内容的 keycloak-direct-access.json 文件添加到 etc 中。为了检查 ssh 的 keycloak 集成,我更改了 org.apache.karaf.shell 并将领域设置为 keycloak。但之后,我无法使用 keycloak 凭据通过 client.bat 进行连接。它要求输入密码(即使我在命令中提供了密码),经过 2-3 次尝试,它会给出以下错误:

没有更多可用的身份验证方法

除此之外,当我尝试使用 jaas:realm-manage 命令获取 keycloak 用户列表时,如果不起作用并给出以下错误:

无法获取用户列表(未找到后备引擎服务)

在第二种情况下,我安装 Apache Karaf (4.2.8) 和上面几乎相同的步骤。但它也失败了。

此外,我检查了以下文档 https://github.com/jboss-fuse/karaf-quickstarts/blob/7.x.redhat-7-x/security/keycloak/fuse-keycloak.adoc 。考虑到该文档,我所有步骤都正确,但由于某种原因它失败了。

对于保险丝安装,我在尝试通过客户端连接时检查了日志,并在那里看到了以下警告

2020-02-13 10:06:45,808 |警告 | 56c97]-nio2-thread-1 | o.a.s.s.s.ServerSessionImpl | 185 - org.apache.sshd.core - 1.7.0 | exceptionCaught(ServerSessionImpl[null@/127.0.0.1:65456])[state=Opened] IOException: 指定的网络名称不再可用。

感谢任何帮助。提前致谢,

BR, 法里德

【问题讨论】:

    标签: osgi keycloak apache-karaf jaas jbossfuse


    【解决方案1】:

    对于 Fuse 7,this Github repository 中提供了展示如何将 Pax Web(Fuse Karaf 中的 Web 层,基于 pax-http-undertow)与 Keycloak(和 RH-SSO)集成的官方快速入门。

    快速入门涵盖与 OSGi HTTP 服务、白板服务、Camel 和 CXF 相关的场景。

    Additional documentation 展示了如何配置 Keycloak 实例和 Fuse-Karaf 本身,以便 SSH、JMX 和 Hawtio 连接与 Keycloak 一起使用。

    【讨论】:

    • 我在我的问题中输入了错误的 URL,但现在更新了。我已经完成了github.com/jboss-fuse/karaf-quickstarts/blob/7.x.redhat-7-x/… 中的步骤目前,我只想在 keycloak 上使用 SSH,至少可以看到通过 keycloak-jaas 进行的 keycloak 集成是有效的。我检查了 windows 和 centos 操作系统。
    • 我已经解决了我的问题。问题与网络有关。因为我使用 docker 容器,所以实例无法正确看到彼此。
    猜你喜欢
    • 2020-06-16
    • 2022-07-07
    • 2011-10-19
    • 2021-07-26
    • 2019-04-28
    • 2021-12-14
    • 2021-01-10
    • 2020-02-20
    • 1970-01-01
    相关资源
    最近更新 更多