无法在Apache Karaf中安装Keycloft jetty适配器



我使用Apache Karaf 4.2.8。我安装了密钥斗篷osgi功能。我可以使用keycapture jaas功能为带有keycapture的karaf shell配置身份验证。

现在,我想在/cxf上下文下为我的服务配置身份验证。

我配置了pax-web上下文,所以登录方法是KEYCLOAK。

但我也必须安装keycapture码头适配器,这样它才能集成。但当我尝试安装该功能时,我会收到一个错误。

trun()> feature:install keycloak-jetty9-adapter

org.apache.filex.resolver.reason.ReasonException:无法解析root:缺少需求[root]osgi.identity;osgi.identity=keyclock-jetty9-适配器;type=karaf.feature;version="[8.0.1-8.0.1]";filter:="(&(osgi.identity=keyclock-jetty9-adapter((type=karaf.feature((版本>=8.0.1((版本<=8.0.1requirement[keyclock-jetty9-adapter/8.0.1]osgi.identity;osgi.identity=码头;type=karaf.feature;版本="[9.2.0,9.3.0("]org.apache.filex.resolver.Components$MissingRequirementError.toException(Candidates.java:1343(在org.apache.filex.ResolverImpl.doResolve(ResolverImpl.java:392(在org.apache.filex.ResolverImpl.resolve(ResolverImpl.java:378(在org.apache.filex.ResolverImpl.resolve(ResolverImpl.java:332(在org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolve.java:257(在org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388(在org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1058(在org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:994(位于java.util.concurrent.FFutureTask.run(FutureTask.java:266(java.util.concurrent.ThreadPoolExecutiator.runWorker(ThreadPoolExecutiator.java:1149(在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624(在java.lang.Thread.run(Thread.java:748(由以下原因引起:org.apache.filex.resolver.reason.ReasonException:无法解析keyclock-jetty9-adapter/8.0.1:缺少要求[keyclock-jetty9-adapter/8.0.1]osgi.identity;osgi.identity=码头;type=karaf.feature;版本="[9.2.0,9.3.0("org.apache.filex.resolver.Components$MissingRequirementError.toException(Candidates.java:1343(…还有12个执行命令时出错:无法解析根目录:缺少requirement[root]osgi.identity;osgi.identity=keyclock-jetty9-适配器;type=karaf.feature;version="[8.0.1-8.0.1]";filter:="(&(osgi.identity=keyclock-jetty9-adapter((type=karaf.feature((版本>=8.0.1((版本<=8.0.1requirement[keyclock-jetty9-adapter/8.0.1]osgi.identity;osgi.identity=码头;type=karaf.feature;version="[9.2.0,9.3.0("]

如果不安装该适配器,则我无法访问我的服务(我收到403 Forbidden(,因为它通过pax-web受到保护,但无法进行身份验证。

karaf中的jetty似乎是嵌入式的,并没有包含所有功能,这不允许我安装jetty适配器。

根据Apache Karaf 4.2.8的发布说明,Karaf正在使用Jetty 9.4.22,这似乎超出了错误消息version="[9.2.0,9.3.0)"中的范围

你要么需要将Keycloft升级到支持Jetty 9.4.x的版本或者将Karaf降级为支持Keycloft使用的Jetty版本的Karaf。

最新更新