Интеграции с OAuth провайдерами

ℹ️ О разделе

В этом разделе описывается настройка интеграций IDENTYX с внешними OAuth/OIDC провайдерами аутентификации. Все настройки выполняются в разделе Настройки → вкладка Настройки → раздел Авторизация.

Обзор интеграций

IDENTYX поддерживает интеграцию со следующими российскими провайдерами аутентификации:

🏦 Сбер ID

Система идентификации от Сбербанка. Требует настройки HTTPS, сертификатов и интеграции через API.

🏛️ ЕСИА (Госуслуги)

Единая система идентификации и аутентификации. Используется для доступа к государственным услугам. Требует электронной подписи для интеграции.

🔴 Яндекс ID

Система аутентификации от Яндекса. Простая интеграция через OAuth 2.0.

💬 VK ID

Система аутентификации ВКонтакте. Поддержка OAuth 2.0 с PKCE.

✈️ Telegram

Аутентификация через Telegram Login Widget. Требуется создание бота.

⚠️ Требования к настройкам

Для работы OAuth интеграций необходимо:

  • Зарегистрировать ваше приложение у провайдера
  • Получить client_id и client_secret
  • Настроить корректные redirect_uri
  • Для некоторых провайдеров требуется HTTPS
  • Обладать правами Суперадминистратора IAM для изменения настроек

Настройка Сбер ID

Интеграция с Сбер ID требует наиболее сложной настройки из всех провайдеров, так как использует взаимную TLS аутентификацию (mTLS).

Регистрация в Сбер ID

  1. Зарегистрируйте ваше приложение на портале разработчиков Сбер ID
  2. Получите client_id и client_secret
  3. Сгенерируйте сертификат и закрытый ключ для вашего приложения
  4. Загрузите сертификат в личный кабинет Сбер ID
  5. Скачайте цепочку сертификатов сервера Сбер ID (файл в формате PEM с несколькими сертификатами)

Настройка в IDENTYX

Перейдите в раздел Настройки → вкладка Настройки → раздел АвторизацияСбер ID:

  1. Установите флажок Включить аутентификацию через Сбер ID
  2. Заполните поле client_id — идентификатор вашего приложения из личного кабинета Сбер ID
  3. Заполните поле redirect_uri — URL обратного вызова, который должен заканчиваться на /login/sber без GET параметров
    Пример: https://mycompany.ru/login/sber
  4. Заполните поле client_secret — секретный ключ вашего приложения
  5. Загрузите сертификаты с помощью кнопок в разделе Сертификаты:
    • Сертификат — ваш клиентский сертификат в формате PEM
    • Закрытый ключ — закрытый ключ к вашему сертификату
    • Цепочка сертификатов сервера Сбер ID — цепочка доверия для проверки сертификата сервера (один файл PEM с несколькими сертификатами)

Автоматическая регистрация пользователей

При первом входе через Сбер ID можно автоматически создавать учетные записи пользователей:

  1. Установите флажок Разрешить регистрировать учетные записи через Сбер ID
  2. В поле Группа для автоматической регистрации через Сбер ID выберите одну или несколько групп, в которые будут автоматически добавляться новые пользователи
✅ После настройки

После сохранения настроек на странице входа появится кнопка Войти через Сбер ID. При нажатии пользователь будет перенаправлен на страницу авторизации Сбербанка.

Настройка ЕСИА (Госуслуги)

ЕСИА (Единая система идентификации и аутентификации) используется для доступа к государственным информационным системам через портал Госуслуги.

Регистрация в ЕСИА

  1. Зарегистрируйте вашу информационную систему в ЕСИА через личный кабинет
  2. Получите client_id (мнемоника системы)
  3. Установите сертификат электронной подписи на сервер с IDENTYX
  4. Зарегистрируйте сертификат в личном кабинете ЕСИА

Настройка в IDENTYX

Перейдите в раздел Настройки → вкладка Настройки → раздел АвторизацияЕСИА (Госуслуги):

  1. Установите флажок Включить аутентификацию через ЕСИА
  2. Заполните поле client_id — мнемоника вашей системы в ЕСИА
  3. Заполните поле Сертификат для подписи запросов — отпечаток (thumbprint) сертификата электронной подписи, установленного на сервере
    Важно: Сертификат должен быть установлен в хранилище сертификатов операционной системы
  4. Заполните поле Пин-код от токена для подписи запросов (если требуется для вашего контейнера закрытого ключа)
  5. Заполните поле redirect_uri — URL обратного вызова, который должен заканчиваться на /login/esia без GET параметров
    Пример: https://mycompany.ru/login/esia

Автоматическая регистрация пользователей

  1. Установите флажок Разрешить регистрировать учетные записи через ЕСИА
  2. В поле Группа для автоматической регистрации через ЕСИА выберите группы для автоматического добавления
⚠️ Особенности ЕСИА
  • Требуется наличие КриптоПро или аналогичного ПО на сервере
  • Сертификат электронной подписи должен быть действующим
  • Каждый запрос к ЕСИА подписывается электронной подписью
  • Интеграция работает только с тестовой или продуктивной средой ЕСИА

Настройка Яндекс ID

Яндекс ID — это простая и быстрая интеграция через стандартный OAuth 2.0 протокол.

Регистрация приложения

  1. Перейдите на https://oauth.yandex.ru/
  2. Создайте новое приложение
  3. В настройках укажите Callback URI: https://ваш-домен/login/yandex
  4. Запросите доступ к данным: login:email, login:info
  5. Скопируйте ID приложения (это ваш client_id)
  6. Скопируйте Пароль (это ваш client_secret)

Настройка в IDENTYX

Перейдите в раздел Настройки → вкладка Настройки → раздел АвторизацияЯндекс ID:

  1. Установите флажок Включить аутентификацию через Яндекс
  2. Заполните поле client_id — ID приложения из настроек OAuth Яндекса
  3. Заполните поле client_secret — пароль приложения

Автоматическая регистрация пользователей

  1. Установите флажок Разрешить регистрировать учетные записи через Яндекс
  2. В поле Группа для автоматической регистрации через Яндекс выберите группы для автоматического добавления

Настройка VK ID

VK ID позволяет пользователям входить в систему с помощью их учетной записи ВКонтакте.

Регистрация приложения

  1. Перейдите в VK для бизнеса
  2. Создайте новое приложение
  3. Настройте Redirect URI: https://ваш-домен/login/vk
  4. Получите App ID и Защищённый ключ

Настройка в IDENTYX

Перейдите в раздел Настройки → вкладка Настройки → раздел АвторизацияVK:

  1. Установите флажок Включить аутентификацию через VK
  2. Заполните поле client_id — App ID вашего приложения
  3. Заполните поле redirect_uri — URL обратного вызова, который должен заканчиваться на /login/vk без GET параметров
    Пример: https://mycompany.ru/login/vk
  4. Заполните поле client_secret — защищённый ключ приложения

Автоматическая регистрация пользователей

  1. Установите флажок Разрешить регистрировать учетные записи через VK
  2. В поле Группа для автоматической регистрации через VK выберите группы для автоматического добавления

Настройка Telegram

Telegram аутентификация использует официальный Telegram Login Widget для безопасного входа пользователей.

Создание Telegram бота

  1. Откройте Telegram и найдите бота @BotFather
  2. Отправьте команду /newbot
  3. Укажите название бота (например, "MyCompany Login Bot")
  4. Укажите username бота (например, "mycompany_login_bot")
    Важно: Username должен заканчиваться на bot
  5. BotFather пришлёт вам токен бота — сохраните его
  6. Настройте домен для Login Widget командой /setdomain
  7. Укажите ваш домен (например, mycompany.ru)

Настройка в IDENTYX

Перейдите в раздел Настройки → вкладка Настройки → раздел АвторизацияTelegram:

  1. Установите флажок Включить аутентификацию через Telegram
  2. Заполните поле Имя бота (username) — username вашего бота из BotFather (можно с символом @ или без него)
    Пример: mycompany_login_bot или @mycompany_login_bot
  3. Заполните поле Токен бота — токен, который выдал BotFather при создании бота

Автоматическая регистрация пользователей

  1. Установите флажок Разрешить автоматически регистрировать учетные записи
  2. В поле Группы для автодобавления выберите группы для автоматического добавления новых пользователей
✅ Преимущества Telegram аутентификации
  • Простая настройка — не требуется регистрация приложения
  • Высокая безопасность — проверка подписи данных
  • Удобство для пользователей — вход в один клик
  • Не требуется HTTPS для работы (но рекомендуется)

Автоматическая регистрация и группы

Для всех провайдеров доступна функция автоматической регистрации пользователей при первом входе.

Как это работает

  1. Пользователь нажимает кнопку входа через внешний провайдер (например, "Войти через Яндекс")
  2. Пользователь авторизуется на сайте провайдера и разрешает доступ
  3. IDENTYX получает данные пользователя от провайдера (имя, email и т.д.)
  4. Если пользователь с таким идентификатором уже существует — выполняется вход
  5. Если пользователя нет и включена автоматическая регистрация:
    • Создаётся новая учетная запись
    • Пользователь автоматически добавляется в указанные группы
    • Выполняется вход в систему

Выбор групп для автодобавления

При настройке каждого провайдера вы можете указать одну или несколько групп:

  1. Нажмите на поле выбора групп (например, "Группа для автоматической регистрации через Яндекс")
  2. В открывшемся окне отметьте нужные группы
  3. Новые пользователи будут автоматически добавлены в эти группы и получат соответствующие права доступа
⚠️ Безопасность автоматической регистрации

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

  • Группы для автодобавления имеют минимально необходимые права
  • Вы понимаете, кто сможет зарегистрироваться (например, любой пользователь VK или Telegram)
  • У вас настроены дополнительные меры защиты (например, обязательная 2FA)

Сохранение настроек

После настройки любого провайдера:

  1. Нажмите кнопку Сохранить в правом нижнем углу страницы
  2. Дождитесь сообщения об успешном сохранении
  3. Система автоматически перезапустит фоновый сервис для применения изменений
ℹ️ Перезапуск сервиса

При сохранении параметров OAuth провайдеров автоматически выполняется перезапуск фонового сервиса IDENTYX. Это занимает несколько секунд. Активные сессии пользователей при этом не прерываются.

Кнопки входа на странице авторизации

После настройки и включения провайдеров на странице входа в систему автоматически появятся соответствующие кнопки:

  • Войти через Сбер ID — при включенном Сбер ID
  • Войти через Госуслуги — при включенной ЕСИА
  • Войти через Яндекс — при включенном Яндекс ID
  • Войти через ВКонтакте — при включенном VK ID
  • Кнопка Telegram — виджет Telegram Login при включенной аутентификации через Telegram

Кнопки отображаются только для включенных провайдеров. Если провайдер выключен, кнопка не отображается.

Привязка существующих учетных записей

Если пользователь уже существует в системе, он может привязать к своей учетной записи дополнительные методы аутентификации через внешние провайдеры:

  1. Войдите в систему с существующей учетной записью
  2. Перейдите в Профиль пользователя
  3. В разделе методов аутентификации выберите нужный провайдер
  4. Нажмите кнопку привязки (например, "Привязать Яндекс")
  5. Авторизуйтесь на сайте провайдера
  6. После успешной авторизации провайдер будет привязан к вашей учетной записи

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

Устранение проблем

Общие проблемы

Проблема Возможная причина Решение
Кнопка входа не появляется Провайдер не включен или настройки не сохранены Проверьте флажок "Включить аутентификацию" и сохраните настройки
Ошибка redirect_uri mismatch URL обратного вызова не совпадает с настройками у провайдера Проверьте точное совпадение redirect_uri в настройках провайдера и IDENTYX
Ошибка invalid_client Неверный client_id или client_secret Проверьте правильность введённых client_id и client_secret
Пользователь не может войти Автоматическая регистрация выключена Включите автоматическую регистрацию или создайте пользователя вручную

Проблемы с Сбер ID

  • Ошибка сертификата: Проверьте, что загружены все три файла: сертификат, закрытый ключ и цепочка сертификатов сервера
  • Ошибка SSL: Убедитесь, что сертификат не истёк и зарегистрирован в личном кабинете Сбер ID
  • Timeout: Проверьте сетевое подключение к API Сбер ID

Проблемы с ЕСИА

  • Ошибка подписи: Проверьте правильность отпечатка сертификата и пин-кода токена
  • Сертификат не найден: Убедитесь, что сертификат установлен в системное хранилище
  • Ошибка доступа к токену: Проверьте права доступа веб-сервера к контейнеру закрытого ключа

Проблемы с Telegram

  • Виджет не отображается: Проверьте правильность username бота (должен заканчиваться на "bot")
  • Ошибка проверки подписи: Проверьте правильность токена бота
  • Домен не разрешён: Убедитесь, что домен настроен в BotFather командой /setdomain

Безопасность

🔐 Рекомендации по безопасности
  • Храните client_secret в секрете, не передавайте третьим лицам
  • Используйте HTTPS для всех интеграций
  • Регулярно проверяйте срок действия сертификатов
  • Ограничивайте права групп для автоматической регистрации
  • Включайте обязательную 2FA для чувствительных систем
  • Регулярно проверяйте журнал событий на подозрительную активность
  • При компрометации client_secret немедленно обновите его у провайдера
✅ Следующие шаги

После настройки OAuth интеграций рекомендуем ознакомиться с разделами: