keycloak-spring-boot-starter для Spring Boot 2.2.4.RELEASE - PullRequest
0 голосов
/ 18 февраля 2020

В моем приложении Spring Boot я интегрирую Keycloak для обеспечения безопасности. Версия Spring Boot, которую я использую в своем проекте, - 2.2.4.RELEASE, однако я проверил последнюю версию Keycloak 8 pom. xml, и в ее зависимостях есть жестко запрограммированная версия Spring Boot 2.0.3.RELEASE в файле. org/keycloak/keycloak-spring-boot-starter/8.0.2/keycloak-spring-boot-starter-8.0.2.pom

    <properties>
      <spring-boot.version>2.0.3.RELEASE</spring-boot.version>
    </properties>

Как решить эту проблему без понижения версии Spring Boot? Я не могу изменить версию Keycloak, другие в наших системах решения используют его. Я также не хочу, чтобы Spring Boot управлял всеми остальными версиями, а не Keycloak, который является лишь одним из многих других компонентов.

1 Ответ

0 голосов
/ 28 марта 2020

Keycloak производит OpenWID совместимый JWT. Настроить Spring-Security для разбора этого JWT на что-то другое, чем KeycloackAuthenticationToken не так сложно.

Поэтому вам не нужно использовать их lib. Вместо этого вы можете использовать JwtAuthenticationToken или любой другой Authentication по вашему выбору, даже создать свой собственный.

Вы можете найти минимальные рабочие образцы в моем репо для обоих servlet и реактивные приложения.

Обратите внимание, что в приведенных выше примерах OidcIdAuthenticationToken - это реализация Authentication, которую я создал для работы с серверами авторизации OpenID (не только с Keycloak). Источник в том же репо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...