... | ... | @@ -6,9 +6,28 @@ _**Wissance**_, который в рамках программы импорто |
|
|
### 1. Назначение т.е. как возник этот проект
|
|
|
|
|
|
Данный проект появился для проведения интеграционных тестов из кода для решения в области безопасности в крупном Российском телеком-операторе. Внедрение
|
|
|
этого решения сэкономило значительные усилия и время по развертыванию тестовой инфраструктуры и запуску инфраструктуры из кода. Но поскольку
|
|
|
этого решения сэкономило значительные усилия и время по развертыванию тестовой инфраструктуры и запуску инфраструктуры из кода. Но, поскольку, Ferrum - полноценный сервер авторизации, то развитие его для замены `Keycloak` в программных решения позволит достичь следующего:
|
|
|
* Go компилируется в нативный код и априори работает быстрее Java;
|
|
|
* Go приложения потребляют меньше ресурсов чем Java приложения, это значит, что Ferrum может обслуживать одновременно больше клиентов чем Keycloak;
|
|
|
* Развертывание Go-приложений на порядок проще чем Java;
|
|
|
* Исходя из опыта управления KeyCloak у него непростое начальное конфигурирование (Quarkus-версия), Ferrum конфигурируется чрезвычайно просто
|
|
|
* Сборка данных, представляющих информацию об юзерах (UserInfo) является сложным (утомительное конфигурирование Mapper-ов), Ferrum позволяет задать
|
|
|
любую структуру UserInfo крайне просто;
|
|
|
* Будет внедрена модель описания приложения для решения задач именно Авторизации на основе данных пользователя в самом сервере авторизации Ferrum, а не
|
|
|
в приложениях (позволит уменьшить время на настройку политик в самих приложениях).
|
|
|
|
|
|
### 2. Какие задачи призван решать
|
|
|
|
|
|
* Заменить по функциональности Keycloak
|
|
|
* За счет другого технологического стэка и подхода сделать сервер авторизации быстрее и менее ресурсоемким (на 1 пользователя)
|
|
|
* Сделать сервер авторизации горизонтально масштабируемым на любое число инстансов.
|
|
|
|
|
|
### 3. Планы (эпики, которые должны быть реализованы в проекте)
|
|
|
|
|
|
1. Доделать версию 1.0 (рефреш токена, код авторизации, регистрация и редактирование пользователей, соц. провайдеры)
|
|
|
2. Легковесная админка для упровления Ferrum
|
|
|
3. Интеграция с LDAP, AD и Kerberos
|
|
|
4. Политики авторизации
|
|
|
5. Поддержка горизонтального масштабирования
|
|
|
6. Внедрение Flow биометрической аутентификации (без паролей) <- Отдельное решение Ferrum Enterprise
|
|
|
|