IDENTYX Proxy
Этот раздел описывает функциональность IDENTYX Proxy — прозрачного прокси-сервера для приложений с автоматической аутентификацией и расширенными возможностями безопасности.
Что такое IDENTYX Proxy
IDENTYX Proxy — это встроенный прокси-сервер, который обеспечивает единую точку входа для всех ваших приложений с автоматической аутентификацией через IDENTYX.
Прокси-сервер работает как посредник между пользователем и вашим приложением, автоматически проверяя права доступа и обеспечивая безопасное соединение.
Преимущества использования Proxy
Пользователи автоматически проходят аутентификацию через IDENTYX перед доступом к приложению. Не нужно интегрировать OIDC в каждое приложение отдельно.
Все приложения автоматически публикуются через защищенное HTTPS соединение, даже если само приложение работает по HTTP.
Приложение не требует модификации — прокси автоматически добавляет информацию о пользователе в заголовки HTTP запросов.
Настройте различные маршруты для разных частей приложения с индивидуальными требованиями к авторизации.
Как работает Proxy
Схема работы IDENTYX Proxy:
- Пользователь обращается к приложению — вводит адрес приложения в браузере (например,
https://app.company.ru:3000) - Proxy проверяет авторизацию — если пользователь не авторизован, автоматически перенаправляет на страницу входа IDENTYX
- После успешной аутентификации — прокси получает токены доступа от IDENTYX
- Proxy перенаправляет запросы — все запросы пользователя передаются на целевое приложение
- Приложение получает данные о пользователе — через HTTP заголовки или специальные API эндпоинты
Приложение не требует изменений для интеграции с IDENTYX — весь процесс аутентификации берет на себя прокси-сервер.
Включение и отключение Proxy
При создании или редактировании OIDC приложения вы можете выбрать режим работы:
Режим с IDENTYX Proxy (рекомендуется)
В этом режиме приложение публикуется через встроенный прокси-сервер IDENTYX.
Настройка:
- Перейдите в раздел Приложения
- Создайте новое приложение или откройте существующее
- На вкладке Проксирование убедитесь, что флажок "Не использовать IDENTYX Proxy" не установлен
- Укажите Слушающий порт на IAM — порт, через который будет доступно приложение (например,
3000)
Приложение будет доступно по адресу: https://[адрес-identyx]:[указанный-порт]
Например, если IDENTYX установлен на iam.company.ru и указан порт 3000, приложение будет доступно по адресу https://iam.company.ru:3000
Режим без Proxy (прямое подключение)
В этом режиме приложение работает самостоятельно и напрямую интегрируется с IDENTYX через стандартный OIDC протокол.
Настройка:
- На вкладке Проксирование установите флажок "Не использовать IDENTYX Proxy"
- Укажите URL приложения — адрес, на который будет перенаправлен пользователь после аутентификации (например,
https://my-app.company.ru)
В этом режиме приложение должно самостоятельно реализовать OIDC клиент для интеграции с IDENTYX. Подробнее см. раздел OIDC интеграция.
Настройка маршрутов
Маршруты определяют, какие запросы и куда должен перенаправлять прокси-сервер.
Добавление маршрута
Пошаговая инструкция:
- Откройте карточку приложения
- Перейдите на вкладку Проксирование → подвкладка Маршруты
- Нажмите кнопку Добавить путь
- Заполните параметры маршрута
Параметры маршрута
| Параметр | Описание | Пример |
|---|---|---|
| HTTP Путь | Путь запроса, который должен обрабатываться этим маршрутом | / — все запросы/api — только API/admin — административная панель |
| Целевой сервер | URL сервера, на который будут перенаправлены запросы | http://localhost:8080http://192.168.1.100:3000 |
| Требовать авторизации | Флажок, определяющий нужна ли авторизация для доступа к этому пути | ✅ Включено — требуется вход ❌ Отключено — свободный доступ |
| Разрешить самоподписанный сертификат | Разрешить подключение к целевому серверу с самоподписанным SSL сертификатом | ✅ Включено — для тестовых серверов ❌ Отключено — только валидные сертификаты |
Приоритет маршрутов
Если несколько маршрутов могут подходить под один запрос, используется маршрут с самым длинным совпадающим путем.
Пример:
- Маршрут
/— обрабатывает все запросы - Маршрут
/api— обрабатывает запросы начинающиеся с/api - Маршрут
/api/admin— обрабатывает запросы начинающиеся с/api/admin
При запросе /api/admin/users будет выбран маршрут /api/admin, так как он наиболее специфичный.
Первый маршрут с путем / создается автоматически и не может быть удален. Он служит маршрутом по умолчанию для всех запросов.
Публичные маршруты (без авторизации)
Вы можете создать маршруты, которые не требуют авторизации. Это полезно для:
- Публичных страниц приложения
- API эндпоинтов для webhook'ов
- Статических ресурсов (CSS, JS, изображения)
- Health-check эндпоинтов для мониторинга
Настройка: Снимите флажок "Требовать авторизации" для нужного маршрута.
Настройки безопасности
IDENTYX Proxy предоставляет дополнительные функции безопасности для защиты ваших приложений.
Блокировка экрана при неактивности
Автоматическая блокировка экрана приложения, если пользователь неактивен определенное время.
Настройка:
- Перейдите на вкладку Безопасность
- Установите флажок "Блокировать экран приложения при бездействии пользователя"
- Укажите время бездействия в секундах (например,
300для 5 минут) - Опционально: установите флажок "Показывать предупреждение перед блокировкой экрана"
Если пользователь не производит действий (не двигает мышь, не нажимает клавиши) указанное время, экран приложения блокируется и отображается окно для повторного входа.
Ограничение количества сессий
Ограничьте количество одновременных сессий для каждого пользователя в приложении.
Настройка:
- На вкладке Безопасность установите флажок "Ограничить количество сессий для каждого пользователя"
- Укажите максимальное количество сессий (например,
3)
Поведение: При превышении лимита самая старая сессия пользователя автоматически закрывается.
Это ограничение относится только к данному приложению. Пользователь может иметь неограниченное количество сессий в других приложениях IDENTYX.
Автозаполнение форм авторизации
IDENTYX Proxy может автоматически заполнять формы авторизации в проксируемых приложениях, используя сохраненные учетные записи пользователей.
Включение автозаполнения
Пошаговая инструкция:
- Откройте карточку приложения
- Перейдите на вкладку Авторизация
- Установите флажок "Включить автозаполнение форм авторизации"
В большинстве случаев автозаполнение работает автоматически без дополнительных настроек. IDENTYX автоматически обнаруживает стандартные формы входа.
Дополнительные опции автозаполнения
| Опция | Описание |
|---|---|
| Скрыть оригинальную форму входа | Оригинальная форма входа полностью скрывается, пользователи могут войти только через учетные записи IDENTYX. Рекомендуется для корпоративных приложений. |
| Ручная настройка CSS селекторов | Включите только если автоматический поиск форм не работает. Позволяет вручную указать селекторы для полей входа. |
Ручная настройка CSS селекторов
Если автоматическое обнаружение форм не работает, вы можете вручную указать CSS селекторы.
Настройка:
- Установите флажок "Ручная настройка CSS селекторов"
- Заполните следующие поля:
| Поле | Описание | Пример |
|---|---|---|
| CSS селектор контейнера авторизации | Селектор для контейнера с полями входа (может быть form, div, dialog) | form#login.auth-container[role=dialog] |
| Селектор поля логина | Селектор для поля ввода имени пользователя или email | input[name='username']#login |
| Селектор поля пароля | Селектор для поля ввода пароля | input[type='password']#password |
| Селектор кнопки отправки | Селектор для кнопки входа (необязательно) | button[type='submit'].login-button |
Дополнительные настройки автозаполнения
| Параметр | Описание | Рекомендуемое значение |
|---|---|---|
| Задержка перед заполнением (мс) | Время ожидания перед автоматическим заполнением полей | 500-1000 мс для динамических форм |
| Задержка перед отправкой (мс) | Время ожидания после заполнения полей перед отправкой формы | 300-500 мс |
| Автоматически отправлять форму после заполнения | Форма отправляется автоматически или требуется ручное нажатие кнопки | Включено (для полностью автоматического входа) |
Учетные записи для автозаполнения хранятся в разделе Профиль → Учетные записи приложений. Пользователи могут самостоятельно добавлять и управлять своими учетными записями для различных приложений.
Согласие с публичной офертой
Вы можете требовать от пользователей согласия с условиями использования приложения перед первым входом.
Настройка оферты
Пошаговая инструкция:
- Откройте карточку приложения
- Перейдите на вкладку Оферта
- Установите флажок "Требовать согласие с публичной офертой"
- В поле "Текст публичной оферты" введите условия использования
- Опционально: укажите заголовок на странице согласия (если не указан, используется заголовок по умолчанию)
Поведение при изменении оферты
Изменение текста оферты даже на 1 символ приведет к тому, что все пользователи, ранее принявшие оферту, должны будут принять новую версию перед продолжением работы.
Как это работает:
- Пользователь впервые заходит в приложение
- Перед доступом к приложению отображается страница с текстом оферты
- Пользователь должен нажать кнопку "Я согласен"
- После согласия пользователь получает доступ к приложению
- Повторное согласие не требуется, пока текст оферты не изменится
Дополнительные настройки
Обработка внутренних редиректов
На вкладке Дополнительно доступна настройка "Автоматически обрабатывать внутренние редиректы".
Рекомендуется включить. Эта опция позволяет корректно работать с приложениями, которые используют абсолютные URL для редиректов (например, VMware vCenter, Proxmox, GitLab).
Как это работает: Прокси автоматически перехватывает редиректы на внутренние адреса приложения и переписывает их на относительные URL, чтобы пользователь оставался на адресе прокси.
Отключите эту опцию только если возникают проблемы с авторизацией через внешние SSO-системы (например, OAuth от Google, Microsoft), которые требуют редиректов на свои домены.
REST endpoints для интеграции
На вкладке Проксирование → подвкладка Перенаправления доступны настройки для глубокой интеграции с приложением:
| Endpoint | Описание |
|---|---|
| REST endpoint для информации о новой сессии | URL в вашем приложении, куда IDENTYX Proxy будет отправлять информацию о пользователе при создании новой сессии (POST запрос с данными пользователя, токенами доступа) |
| REST endpoint для закрытия сессии | URL в вашем приложении, куда IDENTYX Proxy будет отправлять уведомление о закрытии сессии пользователя |
Поля можно оставить пустыми, если ваше приложение не требует этих уведомлений.
Типичные сценарии использования
Публикация внутреннего приложения
Задача: Нужно опубликовать внутреннее веб-приложение компании (например, корпоративную wiki на порту 8080) с авторизацией через IDENTYX.
Решение:
- Создайте новое OIDC приложение с названием "Корпоративная Wiki"
- Оставьте включенным режим с IDENTYX Proxy
- Укажите слушающий порт, например
3001 - На вкладке Маршруты в корневом маршруте укажите целевой сервер
http://localhost:8080 - Убедитесь, что флажок "Требовать авторизации" установлен
- Сохраните приложение
Результат: Приложение доступно по адресу https://[ваш-identyx]:3001 с автоматической авторизацией.
Приложение с публичным API
Задача: Приложение имеет публичный API эндпоинт /api/webhook, который должен быть доступен без авторизации, но остальная часть приложения требует входа.
Решение:
- Создайте корневой маршрут
/с целевым сервером и требованием авторизации - Добавьте дополнительный маршрут
/api/webhookс тем же целевым сервером, но без требования авторизации
Результат: Путь /api/webhook доступен публично, все остальные пути требуют авторизации.
Критичное приложение с автоблокировкой
Задача: Финансовое приложение должно автоматически блокироваться после 5 минут неактивности пользователя.
Решение:
- На вкладке Безопасность включите "Блокировать экран приложения при бездействии пользователя"
- Укажите
300секунд (5 минут) - Включите "Показывать предупреждение перед блокировкой экрана"
Результат: Если пользователь не производит действий 5 минут, появится предупреждение, а затем экран заблокируется.
Решение проблем
Проблема: Прокси не может подключиться к приложению.
Решение:
- Проверьте, что целевой сервер доступен с машины, где установлен IDENTYX
- Убедитесь, что URL в поле "Целевой сервер" указан корректно
- Если целевой сервер использует самоподписанный сертификат, установите флажок "Разрешить самоподписанный сертификат"
Проблема: Браузер сообщает о слишком многих редиректах.
Решение:
- Проверьте, что в приложении не настроен принудительный редирект на HTTPS, если оно работает за прокси
- Убедитесь, что приложение корректно обрабатывает заголовок
X-Forwarded-Proto
Проблема: Форма входа не заполняется автоматически.
Решение:
- Убедитесь, что пользователь добавил учетную запись для этого приложения в своем профиле
- Включите "Ручная настройка CSS селекторов" и укажите точные селекторы для полей формы
- Проверьте задержки заполнения — возможно, форма загружается динамически и нужна большая задержка
Проблема: Пользователя постоянно выбрасывает на страницу входа.
Решение:
- Проверьте настройку "Ограничить количество сессий" — возможно, лимит слишком низкий
- Убедитесь, что блокировка при неактивности не слишком агрессивная
- Проверьте, нет ли конфликта между сессией прокси и сессией приложения
Теперь вы знаете, как использовать IDENTYX Proxy для публикации приложений. Переходите к разделу Настройки приложения для изучения дополнительных параметров OIDC приложений.