Как развернуть полноценный софтверный Identity Server и не сойти с ума

16 июн 2026
649
174
31
1 неделя

Janssen Project - Open Source Digital Identity Infrastructure Software

Представьте ситуацию: ваш проект вырос из «просто логина по паролю», и бизнес требует поддержку SSO, FIDO2, сложных политик доступа и еще десяток протоколов, о которых вы только слышали на конференциях. Обычно тут два пути. Либо вы выкладываете круглую сумму за enterprise-решение, либо пытаетесь собрать «франкенштейна» из разрозненных open-source библиотек.

Проект Janssen, который живет под крылом Linux Foundation, предлагает третий вариант. Это не просто библиотека, а полноценная инфраструктура для управления цифровой идентичностью (IAM).

Что это за птица

Название проекта отсылает к братьям Янссен из Бельгии, которые разводили самых быстрых гоночных голубей. Метафора простая: разработчики хотели сделать систему идентификации, которая будет летать так же быстро, потребляя минимум ресурсов (буквально «горсть зерна»).

По сути, Janssen — это наследник Gluu Server 4. В 2020 году команда Gluu передала исходники сообществу, и теперь это полностью независимый проект. Он закрывает все потребности современной безопасности: от сервера авторизации до инструментов оркестрации сложных цепочек входа.

Из чего состоит инфраструктура

Внутри репозитория скрывается целый зоопарк компонентов. Но это не хаотичная свалка, а модульная система.

Реклама

Jans Auth Server

Центральный элемент. Это сертифицированный OpenID Connect провайдер. Он умеет в OAuth2 и все современные расширения вроде FAPI (Financial-grade API). Если вам нужно построить банковское приложение или сервис с жесткими требованиями к безопасности, этот компонент станет фундаментом.

Agama

Моя любимая часть. Обычно логика аутентификации жестко зашита в коде. В Janssen есть Agama — специальный DSL (Domain Specific Language) для описания «путешествий пользователя». Хотите сначала проверить почту, потом спросить биометрию, а если что-то пошло не так — отправить пуш? Это описывается конфигом, а не бесконечными if-else в основном приложении.

Jans FIDO и Casa

Забудьте про SMS-коды. Компонент FIDO позволяет в два счета добавить поддержку Passkeys и аппаратных ключей. А Casa — это готовый портал самообслуживания, где пользователи могут сами привязать новый ключ или сбросить пароль, чтобы не дергать ваш саппорт.

Cedarling

Довольно свежая штука на Rust. Это Policy Decision Point (PDP). Вместо того чтобы в каждом микросервисе писать логику прав доступа, вы спрашиваете Cedarling: «Может ли пользователь X сделать действие Y с ресурсом Z на основе этих JWT-токенов?». Он быстро выдает «да» или «нет».

Как это потрогать

Развернуть такую махину вручную — сомнительное удовольствие. К счастью, авторы подготовили почву для облачного деплоя.

Если у вас под рукой есть Kubernetes, можно использовать Helm-чарты. Для локальных экспериментов проще всего запустить через Docker:

# Примерные шаги для быстрого старта (см. документацию проекта)
# Скачиваем скрипт установки
curl https://raw.githubusercontent.com/JanssenProject/jans/main/scripts/bootstrap.sh > bootstrap.sh
chmod +x bootstrap.sh
./bootstrap.sh

В документации есть готовые инструкции под Amazon EKS, Google GKE и Azure AKS. Видно, что проект метит именно в облачный сегмент.

Практическая ценность

Зачем тащить Janssen в проект, если есть проверенные решения?

Я вижу несколько сценариев:

  1. Импортозамещение и суверенитет. Вы полностью контролируете код и данные. Никаких внезапных отключений API со стороны облачного гиганта.
  2. Сложная логика входа. Если ваш флоу авторизации зависит от фаз луны, погоды в Лондоне и скоринга пользователя, Agama сэкономит недели разработки.
  3. Высокая нагрузка. Система изначально проектировалась под кейсы с миллионами пользователей.

Интересно, что проект прошел проверку OpenSSF (Scorecard и Best Practices). Это значит, что код регулярно проверяется на уязвимости, а процессы разработки прозрачны. Для безопасности это критично.

Стоит ли пробовать

Janssen — инструмент серьезный и требует времени на освоение. Это не тот случай, когда поставил пакет и забыл. Документации много, местами она избыточна, а местами (как в случае с новыми компонентами типа Cedarling) заставляет лезть в код.

Но если вы устали от ограничений готовых SaaS-решений или чувствуете, что самописный Auth-сервис превращается в дырявое решето — присмотритесь. Это мощная база, на которой можно построить безопасность уровня корпорации, не платя за лицензии.

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

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.