我使用Apache 4.2.8。我安装了keycloak osgi功能。我可以使用keycloak特性为karaf shell配置身份验证。
现在,我想在/cxf上下文中为我的服务配置身份验证。
我配置了pax上下文,因此登录方法是KEYCLOAK。
但是我也必须安装keycloak-jetty适配器,这样它就可以集成了。但是,当我试图安装该功能时,我会收到一个错误。
trun()> feature:install keycloak-jetty9-adapterorg.apache.felix.resolver.reason.ReasonException:无法解析根:缺少需求根osgi.identity;osgi.Identity=keycloak-jetty9-适配器;type=karaf.feature;version=“8.0.1”;filter:="(&(osgi.identity=keycloak-jetty9-adapter)(type=karaf.feature)(version>=8.0.1)(version<=8.0.1))“[原因:无法解析keycloak-Jetty9-适配器/8.0.1:缺少需求密钥披风-Jetty9-适配器/8.0.1 osgi.identity;osgi.identity=jetty;type=karaf.feature;org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343) at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:392) at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378) at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332) at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257 version=“9.2.0 9.3.0”)在org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388) at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1058) at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:994) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748),由: org.apache.felix.resolver.reason.ReasonException:无法解析密钥披风-Jetty9-适配器/8.0.1:缺少需求密钥披风-Jetty9-适配器/8.0.1 osgi.identity;org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)中的osgi.identity=jetty;type=karaf.feature;version=“[9.2.0,9.3.0]”.再执行12条错误执行命令:无法解析根:缺少需求根osgi.identity;osgi.Identity=keycloak-Jetty9-适配器;type=karaf.feature;version=“8.0.1”;filter:="(&(osgi.identity=keycloak-jetty9-adapter)(type=karaf.feature)(version>=8.0.1)(version<=8.0.1))“[由:无法解析keycloak-jetty9-适配器/8.0.1:缺少需求keycloak-jetty9-适配器/8.0.1 osgi.identity;osgi.identity=jetty;type=karaf.feature;version=”9.2.0 9.3.0“)
如果不安装该适配器,那么我无法到达我的服务(我收到403禁止),因为它是通过pax-web保护,但认证是不可能的。
karaf中的jetty似乎是嵌入的,并不包含所有特性,这不允许我安装jetty适配器。
发布于 2020-02-17 14:17:55
根据Apache的发布说明4.2.8,Karaf正在使用Jetty9.4.22,这似乎超出了错误消息version="[9.2.0,9.3.0)"中的范围
您要么需要将Keycloak升级到支持Jetty9.4.x的Ketty9.4.x,要么需要将Karaf降级为支持Keycloak使用的相同版本的Jetty。
https://stackoverflow.com/questions/60260117
复制相似问题