Ferrum Community - быстрый сервер авторизации от Wissance

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

Фотогалерея

Контакты

Екатеринбург

info@wissance.com

+7 (343) 333-33-33

Разработано:
03 ноября 2022
Разработано:
Категория:
Программное обеспечение
Описание:
Описание
Ferrum Community Authorization Server

Ferrum Community Authorization Server

Введение:

Ferrum Community Authorization Server — Российский (создан российской компанией ООО «Висанс») сервер авторизации с открытым исходным кодом, совместимый по API с Keycloak, написан на Golang, отличающийся от Keycloak и других серверов авторизации значительно более простой настройкой и установкой, более высокой производительностью и возможностью обслуживать большее количество клиентов параллельно. Известная практика среди российских компаний в погоне за наживой взять и форкнуть проект с открым исходным кодом, поменять копирайты и вуаля отечественное ПО готово, Ferrum был спроектирован основываясь на другом подходе, написать решение с нуля не перетягивая в наше решение все ошибки и проблемы, кроме этого наше решение полностью открытое, любой желающий может посмотреть  код и увидеть, что это абсолютно собственное решение, выстроенное в соотвествие с нашей философией.

Особенности:

Ferrum Community Authorization Server развивался изначально как вспомогательный продукт для решения вопроса интеграционного тестирования многокомпонентного решения в области ИБ, но позже стало понятно, что это полностью самомстоятельный продукт. Ключевые технические особенности Ferrum:

  • возможность использования простого хранилища в виде файла с данными для не больших систем (т.е., в ситуациях где нет необходимости развертывать отдельные хранилища данных).
  • возможность использовать Ferrum c любым ханилищем данных (на текущий момент основное продакшен хранилище — Redis), расширение осуществляется достаточно не сложно.
  • возможность создавать разную структуру данных у пользователей (у объекта User нет четкой структуры, поэтому отдельные пользователи могут иметь разный набор данных, передаваемых через UserInfo)
  • отсутствие зависимостей при запуске, результат сборки — 1 файл размером ~40 Мб, кроме этого файла и фала конфигурации больше ничено не нужно.
  • небольшое потребление ресурсов, запущенный Ferrum потребляет ~ 25 Мб ОЗУ в то время как, Keycloak — 100-200 Мб, OpenAM не запустится без 1 Гб минимум, а это в свою очередь говорит о том, что Ferrum спроектирован для работы с большим количеством пользователей.
  • возможность встраивания сервера авторизации в код любого Go-приложения и запуска сервера авторизации одновременно с этим приложением.

Стоимость лицензии:

Ferrum Community Authorization Server создан с линезией Apache 2.0, что позволяет его использовать без каких-либо ограничений в коммерческих продуктах абсолютно бесплатно.

Репозиторий исходного кода:

Исходный код Ferrum Community Authorization Server хранится в нескольких разных сервисах:

  1. В Github-репозитории нашего Github акканта организации
  2. На внутреннем Gitlab-сервере организации но с возможностью публичного доступа к коду и документации

Документация

Краткое описание функциональных возможностей приведено ниже, однако полноценная документация приведена в Wiki проекта на внутренем Gitlab, см. ссылку

Функциональные возможности Ferrum Community Authorization Server

  1. Возможность аутентификации с использованием JWT-токенов
  2. Возможность обновления (refresh) токена
  3. Получение информации (userinfo) о пользователе по его токену
  4. Возможность использования авторизации пользователей в приложениях на основе данных в userinfo и принадлежности пользователей к определенным ролям
  5. Наличие возможности для подключения Federated-пользователей (LDAP)