Адаптер Keycloak Jetty не может быть установлен в Apache Karaf - PullRequest
0 голосов
/ 17 февраля 2020

пользуюсь Apache Караф 4.2.8. Я установил функции keycloak osgi. Я мог настроить аутентификацию для оболочки karaf с помощью keycloak с помощью функции keycloak-jaas.

Теперь я хочу настроить аутентификацию для своих служб в контексте / cxf.

Я настроил контекст pax-web, поэтому login- метод - KEYCLOAK.

Но мне нужно также установить keycloak-jetty-adapter, чтобы его можно было интегрировать. Но когда я пытаюсь установить эту функцию, я получаю сообщение об ошибке.

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

org. apache .felix.resolver.reason.ReasonException: невозможно разрешить root: отсутствует требование [root ] osgi.identity; osgi.identity = keycloak-jetty9-адаптер; тип = karaf.feature; версия = "[8.0.1,8.0.1]"; filter: = "(& (osgi.identity = keycloak-jetty9-adapter) (type = karaf.feature) (версия> = 8.0.1) (версия <= 8.0.1))" [вызвано: Невозможно разрешить keycloak -jetty9-adapter / 8.0.1: отсутствует требование [keycloak-jetty9-adapter / 8.0.1] osgi.identity; osgi.identity = причал; тип = karaf.feature; версия = "[9.2.0,9.3.0)"] в орг. apache .felix.resolver.Candidates $ MissingRequirementError.toException (Candidates. java: 1343) в орг. apache .felix.resolver. ResolverImpl.doResolve (ResolverImpl. java: 392) в орг. apache .felix.resolver.ResolverImpl.resolve (ResolverImpl. java: 378) в орг. apache .felix.resolver.ResolverImp. ResolverImpl. java: 332) в орг. apache .karaf.features.internal.region.SubsystemResolver.resolve (SubsystemResolver. java: 257) в орг. apache .karaf.features.internal.service. Deployer.deploy (Deployer. java: 388) в орг. apache .karaf.features.internal.service.FeaturesServiceImpl.doProvision (FeaturesServiceImpl. java: 1058) в орг. apache .karaf.features. internal.service.FeaturesServiceImpl.lambda $ doProvisionInThread $ 13 (FeaturesServiceImpl. java: 994) в java .util.concurrent.FutureTask.run (FutureTask. java: 266) в java .util.concuro. .runWorker (ThreadPoolExecutor. java: 1149) в java .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor . java: 624) в java .lang.Thread.run (Thread. java: 748) Причина: org. apache .felix.resolver.reason.ReasonException: Невозможно разрешить keycloak-jetty9- адаптер / 8.0.1: отсутствует требование [keycloak-jetty9-adapter / 8.0.1] osgi.identity; osgi.identity = причал; тип = karaf.feature; version = "[9.2.0,9.3.0)" в org. apache .felix.resolver.Candidates $ MissingRequirementError.toException (Candidates. java: 1343) ... еще 12 Ошибка при выполнении команды: невозможно разрешить root: отсутствует требование [root] osgi.identity; osgi.identity = keycloak-jetty9-адаптер; тип = karaf.feature; версия = "[8.0.1,8.0.1]"; filter: = "(& (osgi.identity = keycloak-jetty9-adapter) (type = karaf.feature) (версия> = 8.0.1) (версия <= 8.0.1))" [вызвано: Невозможно разрешить keycloak -jetty9-adapter / 8.0.1: отсутствует требование [keycloak-jetty9-adapter / 8.0.1] osgi.identity; osgi.identity = причал; тип = karaf.feature; version = "[9.2.0,9.3.0)"] </p>

Если не установить этот адаптер, я не смогу получить доступ к своему сервису (я получаю 403 Forbidden), так как он защищен через pax-web но аутентификация невозможна.

Похоже, причал в карафе встроен и не содержит всех функций, что не позволяет мне установить адаптер пристани.

1 Ответ

1 голос
/ 17 февраля 2020

Согласно примечаниям к выпуску для Apache Karaf 4.2.8 , Karaf использует Jetty 9.4.22, который, как представляется, выходит за пределы вашего диапазона в сообщении об ошибке version="[9.2.0,9.3.0)"

Вам нужно либо обновить Keycloak до версии, поддерживающей Jetty 9.4.x, либо понизить версию Karaf до версии, поддерживающей ту же версию Jetty, которую использует Keycloak.

...