Цикл постов про Keycloak. Часть первая: Внедрение

от автора

Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise.

Целью данной серии постов является демонстрация одного из возможных вариантов внедрения Keycloak в большой enterprise проект в качестве SSO. Еще в ней будут приведены мои размышления на этот счет, а также описаны сложности, с которыми пришлось столкнуться и решения, которые при этом были найдены.

В данный момент я работаю в большом проекте, который имеет весьма длинную историю развития. Нашими заказчиками являются представители крупного бизнеса, такие как банки и различные торговые площадки.

Проект написан на spring-framework и как следствие использует компоненты spring-security для реализации системы аутентификации / авторизации пользователей. 

В силу специфики нашего бизнеса крупные заказчики иногда имеют возможность проталкивать свои потребности в наш проект, в частности различные подходы к аутентификации пользователей. Таким образом, со временем развития проекта в нем появилась куча специфичных для конкретных заказчиков компонентов аутентификации:

  • Basic (по логину паролю)

  • По логину паролю с ассеss и refresh-token

  • OAUTH

  • SAML

  • LDAP

  • JWT (где наш бэкенд выступает просто в качестве resource-server, а аутентификация происходит на стороне заказчика)

На сегодняшний день реализованные нами компоненты аутентификации и авторизации уже очень сильно устарели и техническое руководство приняло, на мой взгляд, очень верное решение избавиться от них полностью и внедрить SSO (Single sign-on). Выбор пал на Keycloak, как на явного фаворита в среде систем данного рода с открытым исходным кодом. (В данной последующих постах не будут подниматься вопросы delivery нашего продукта заказчику вкупе с Keycloak и специфики комбинации проприетарного и open-source кода).

Когда я только начал заниматься этой задачей, я весьма оптимистично оценил ее в 100 чч по трудозатратам, потому что буквально недавно внедрил Keycloak на другом проекте за неделю, однако я не учел, что мой нынешний проект в десятки раз больше и запутаннее чем предыдущий, который только-только стартовал.

Продолжение следует…


ссылка на оригинал статьи https://habr.com/ru/post/716232/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *