Details

Title Разработка плагина Database User Federation для Keycloak: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development of the Database User Federation plugin for Keycloak
Creators Набережнов Денис Андреевич
Scientific adviser Юсупова Ольга Андреевна
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects Keycloak ; IAM ; single sign-on ; user storage spi ; Java
Document type Bachelor graduation qualification work
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-2690
Rights Доступ по паролю из сети Интернет (чтение)
Additionally New arrival
Record key ru\spstu\vkr\42576
Record create date 8/21/2026

Allowed Actions

Action 'Read' will be available if administrator prepare required files

Group Anonymous
Network Internet

Работа посвящена разработке расширения для платформы управления идентификацией и доступом Keycloak, которое позволяет подключать произвольные реляционные базы данных как внешний источник учетных записей пользователей. Разработанное решение дает возможность организовать централизованную аутентификацию с минимальными трудозатратами для внешних систем. В ходе работы был проведен анализ современных SSO-решений, среди которых Microsoft Active Directory Federation Services, Auth0, ORY Hydra, Authentik и Keycloak. Кроме того, были изучены существующие способы интеграции Keycloak с внешними поставщиками пользователей: LDAP User Federation, Admin REST API и разработка собственного плагина. На основе этого анализа сформировали требования к будущему решению. В их числе – поддержка различных СУБД, гибкая настройка маппинга пользовательских данных, поддержка нескольких режимов редактирования внешнего пользовательского хранилища. Архитектура решения построена на механизме расширений Keycloak Service Provider Interface. Для реализации плагина использовались язык программирования Java 17, система сборки Apache Maven, JDBC и пул соединений HikariCP. В результате был создан полнофункциональный программный модуль, обеспечивающий поиск, импорт, аутентификацию и синхронизацию пользователей из внешних реляционных баз данных. Разработанное решение успешно апробировано и внедрено в промышленную эксплуатацию в ИТ- компании.

The work is devoted to the development of an extension for the Keycloak identity and access management platform, which allows you to connect arbitrary relational databases as an external source of user accounts. The developed solution makes it possible to organize centralized authentication with minimal effort for external systems. In the course of the work, an analysis of modern SSO solutions was carried out, including Microsoft Active Directory Federation Services, Auth0, ORY Hydra, Authentik and Keycloak. In addition, the existing ways of integrating Keycloak with external user providers were explored: LDAP User Federation, Admin REST API and the development of its own plugin. Based on this analysis, the requirements for the future solution were formed. These include support for various databases, flexible configuration of user data mapping, and support for multiple editing modes for external user storage. The architecture of the solution is based on the Keycloak Service Provider Interface extension mechanism. The Java 17 programming language, the Apache Maven build system, JDBC, and the HikariCP connection pool were used to implement the plugin. As a result, a fully functional software module was created that provides search, import, authentication, and synchronization of users from external relational databases. The solution/development has been successfully validated and deployed into production within a commercial IT environment.

Network User group Action
ILC SPbPU Local Network All
Internet Authorized users SPbPU
Internet Anonymous
...