История одного SSO: как мы подружили два независимых каталога пользователей через Keycloak

Привет, Хабр! Меня зовут Аскар Добряков, я ведущий эксперт направления защиты бизнес-приложений в К2 Кибербезопасность. При внедрении Single Sign-On, на первый взгляд, все должно идти по накатанной схеме: настраиваем федерацию со службой каталогов, связываем identity provider с service provider, проверяем работу токенов — и готово. Но дьявол, как всегда, кроется в деталях. Зачастую приходится решать нестандартные задачи. Например, как быть, если у вас две равноправных организации-партнера со своими требованиями к безопасности, и каждый хочет контролировать аутентификацию пользователей, но при этом пользователи одного партнера должны ходить в систему другого?
В этой статье я расскажу, как мы с Даниилом Золотаревым, инженером нашей практики защиты приложений, проводили разработку кастомного аутентификатора для Keycloak, который позволил элегантно решить техническую задачу, стоявшую перед головной и дочерней организациями. Покажу, как мы обошли ограничения штатной функциональности, не нарушая требований безопасности обеих сторон. В процессе вы увидите технические детали реализации, примеры кода и практические советы по созданию собственных аутентификаторов.
Думаю, статья будет полезна архитекторам, разработчикам и всем, кто интересуется тонкостями реализации сценариев SSO на базе Keycloak.
Читать далееИсточник: Хабрахабр