Российские OAuth провайдеры
В этом разделе описывается настройка и использование российских OAuth провайдеров для аутентификации пользователей: Сбер ID, ЕСИА (Госуслуги), Яндекс ID и VK ID. Эти методы позволяют пользователям входить в систему с помощью существующих учетных записей в популярных российских сервисах.
Обзор российских OAuth провайдеров
IDENTYX поддерживает интеграцию со следующими российскими OAuth провайдерами:
Аутентификация через экосистему Сбербанка. Требует настройку сертификатов для обеспечения безопасности взаимодействия.
Аутентификация через Единую систему идентификации и аутентификации (Госуслуги). Требует электронную подпись для подписи запросов.
Аутентификация через учетную запись Яндекса. Простая настройка через client_id и client_secret.
Аутентификация через учетную запись ВКонтакте. Простая настройка через client_id и client_secret.
Настройка Сбер ID
Требования
Для работы с Сбер ID вам потребуется:
- Зарегистрированное приложение в Сбер ID
- Client ID от Сбербанка
- Client Secret от Сбербанка
- Сертификат клиента для взаимодействия с API
- Закрытый ключ сертификата
- Цепочка сертификатов сервера Сбер ID (сертификат Минцифры)
Настройка в IDENTYX
Для настройки Сбер ID выполните следующие шаги:
- Перейдите в раздел Настройки → Настройки
- Раскройте раздел Авторизация → Сбер ID
- Установите флажок Включить аутентификацию через Сбер ID
- Заполните поле client_id — идентификатор вашего приложения, полученный от Сбербанка
- Заполните поле redirect_uri — URL для перенаправления после аутентификации (должен заканчиваться на
/login/sber, например:https://mysite.local/login/sber) - Заполните поле client_secret — секретный ключ приложения
- Загрузите сертификаты:
- Нажмите кнопку Сертификат и загрузите сертификат клиента
- Нажмите кнопку Закрытый ключ и загрузите закрытый ключ сертификата
- Нажмите кнопку Цепочка сертификатов сервера Сбер ID и загрузите цепочку сертификатов (один файл PEM с несколькими сертификатами)
- Нажмите кнопку Сохранить внизу страницы
Цепочка сертификатов сервера Сбер ID должна быть представлена одним файлом в формате PEM, содержащим всю цепочку сертификатов от сервиса Сбер ID.
Автоматическая регистрация через Сбер ID
Вы можете настроить автоматическое создание учетных записей при первом входе через Сбер ID:
- В разделе Сбер ID установите флажок Разрешить регистрировать учетные записи через Сбер ID
- В поле Группа для автоматической регистрации через Сбер ID выберите группы, в которые будут автоматически добавляться новые пользователи
- Сохраните настройки
При автоматической регистрации:
- Автоматически создается локальная учетная запись в IDENTYX
- Отображаемое имя формируется из данных Сбер ID (фамилия, имя, отчество)
- Пользователь добавляется в указанные группы
- Пользователь может быть добавлен в организации (если настроено)
- Все действия логируются в журнал событий
Настройка ЕСИА (Госуслуги)
Требования
Для работы с ЕСИА вам потребуется:
- Зарегистрированная информационная система в ЕСИА
- Client ID (мнемоника системы)
- Сертификат электронной подписи, установленный на сервере
- Отпечаток (thumbprint) сертификата
- Пин-код от токена (если используется)
Настройка в IDENTYX
Для настройки ЕСИА выполните следующие шаги:
- Перейдите в раздел Настройки → Настройки
- Раскройте раздел Авторизация → ЕСИА (Госуслуги)
- Установите флажок Включить аутентификацию через ЕСИА
- Заполните поле client_id — мнемоника вашей информационной системы
- Заполните поле Сертификат для подписи запросов — отпечаток (thumbprint) сертификата, установленного на сервере
- Заполните поле Пин-код от токена для подписи запросов — оставьте пустым, если контейнер не требует пин-кода
- Заполните поле redirect_uri — URL для перенаправления (должен заканчиваться на
/login/esia, например:https://mysite.local/login/esia) - Нажмите кнопку Сохранить
IDENTYX использует КриптоПро для подписи запросов к ЕСИА. Сертификат должен быть установлен на сервере, где развернут IDENTYX, и доступен для процесса веб-сервера.
Автоматическая регистрация через ЕСИА
Настройка автоматической регистрации через ЕСИА аналогична Сбер ID:
- Установите флажок Разрешить регистрировать учетные записи через ЕСИА
- В поле Группа для автоматической регистрации через ЕСИА выберите нужные группы
- Сохраните настройки
При автоматической регистрации отображаемое имя формируется из данных ЕСИА (фамилия, имя, отчество).
Настройка Яндекс ID
Требования
Для работы с Яндекс ID вам потребуется:
- Зарегистрированное OAuth-приложение на oauth.yandex.ru
- Client ID приложения
- Client Secret приложения
Настройка в IDENTYX
Для настройки Яндекс ID выполните следующие шаги:
- Перейдите в раздел Настройки → Настройки
- Раскройте раздел Авторизация → Яндекс ID
- Установите флажок Включить аутентификацию через Яндекс
- Заполните поле client_id — идентификатор вашего приложения
- Заполните поле client_secret — секретный ключ приложения
- Нажмите кнопку Сохранить
Яндекс ID не требует дополнительных сертификатов или сложной настройки — достаточно только client_id и client_secret из личного кабинета Яндекс OAuth.
Автоматическая регистрация через Яндекс ID
- Установите флажок Разрешить регистрировать учетные записи через Яндекс
- В поле Группа для автоматической регистрации через Яндекс выберите нужные группы
- Сохраните настройки
При автоматической регистрации отображаемое имя берется из профиля Яндекса (display_name).
Настройка VK ID
Требования
Для работы с VK ID вам потребуется:
- Зарегистрированное приложение ВКонтакте
- Client ID приложения
- Client Secret приложения
Настройка в IDENTYX
Для настройки VK ID выполните следующие шаги:
- Перейдите в раздел Настройки → Настройки
- Раскройте раздел Авторизация → VK
- Установите флажок Включить аутентификацию через VK
- Заполните поле client_id — идентификатор вашего приложения
- Заполните поле redirect_uri — URL для перенаправления (должен заканчиваться на
/login/vk, например:https://mysite.local/login/vk) - Заполните поле client_secret — секретный ключ приложения
- Нажмите кнопку Сохранить
Автоматическая регистрация через VK ID
- Установите флажок Разрешить регистрировать учетные записи через VK
- В поле Группа для автоматической регистрации через VK выберите нужные группы
- Сохраните настройки
При автоматической регистрации отображаемое имя формируется из данных профиля VK (фамилия и имя).
Вход пользователей через OAuth провайдеры
После настройки OAuth провайдеров на странице входа в систему появятся соответствующие кнопки:
- Кнопка с логотипом Сбербанка — для входа через Сбер ID
- Кнопка с логотипом Госуслуг — для входа через ЕСИА
- Кнопка с логотипом Яндекса — для входа через Яндекс ID
- Кнопка с логотипом ВКонтакте — для входа через VK ID
Процесс входа
Когда пользователь нажимает на одну из кнопок OAuth провайдера:
- Пользователь перенаправляется на страницу входа выбранного провайдера
- Пользователь вводит свои учетные данные на стороне провайдера
- После успешной аутентификации провайдер перенаправляет пользователя обратно в IDENTYX
- IDENTYX проверяет пользователя:
- Если учетная запись уже привязана — пользователь входит в систему
- Если автоматическая регистрация включена — создается новая учетная запись и пользователь входит
- Если автоматическая регистрация выключена — отображается сообщение об отсутствии учетной записи
Все попытки входа через OAuth провайдеры, как успешные, так и неудачные, фиксируются в журнале событий безопасности с указанием типа провайдера и идентификатора пользователя.
Привязка OAuth провайдеров к существующим аккаунтам
Пользователи могут привязать OAuth провайдеров к своей учетной записи в профиле:
- Войдите в систему под своей учетной записью
- Перейдите в Профиль пользователя
- В разделе методов аутентификации найдите нужный OAuth провайдер
- Нажмите кнопку для привязки (например, кнопку с логотипом Сбера)
- Выполните аутентификацию на стороне провайдера
- После успешной аутентификации внешняя учетная запись будет привязана
Одна учетная запись OAuth провайдера может быть привязана только к одному пользователю в IDENTYX. При попытке привязать уже используемый аккаунт система выдаст ошибку.
Отвязка OAuth провайдеров
Для отвязки OAuth провайдера:
- Перейдите в Профиль пользователя
- Найдите привязанный метод аутентификации
- Нажмите кнопку отвязки рядом с провайдером
- Подтвердите действие
Управление правами входа
Администратор может разрешить или запретить отдельному пользователю входить через конкретный OAuth провайдер:
- Перейдите в раздел Пользователи → Локальные пользователи
- Откройте карточку пользователя
- В разделе методов аутентификации найдите нужный провайдер
- Установите или снимите флажок разрешения входа через этот провайдер
- Сохраните изменения
Даже если OAuth провайдер настроен и привязан к учетной записи пользователя, администратор может запретить вход через него на уровне настроек пользователя. При попытке входа пользователь получит сообщение об отказе в аутентификации.
Автоматическое добавление в группы и организации
Для всех OAuth провайдеров поддерживается автоматическое добавление новых пользователей в группы и организации:
Добавление в группы
В настройках каждого провайдера можно указать одну или несколько групп для автоматического добавления. При создании учетной записи через автоматическую регистрацию пользователь будет добавлен во все указанные группы.
Добавление в организации
Аналогично можно настроить автоматическое добавление в организации. Это настраивается через параметры системы (например, sber_auto_reg_orgs, esia_auto_reg_orgs и т.д.).
Автоматическое добавление в группы и организации применяется только при первом входе пользователя и создании учетной записи. Для существующих пользователей, которые привязывают OAuth провайдера в профиле, автоматическое добавление не выполняется.
Безопасность и журналирование
Функции безопасности
- HTTPS обязателен — все взаимодействие с OAuth провайдерами происходит только по защищенному протоколу
- Проверка подписей — для Сбер ID используется проверка JWT токенов с помощью client_secret
- Электронная подпись — для ЕСИА все запросы подписываются электронной подписью
- State parameter — используется для защиты от CSRF атак
- Nonce — используется для защиты от replay атак
Журналирование событий
В журнале событий фиксируются:
- Успешная аутентификация через OAuth провайдер
- Неудачная аутентификация
- Привязка OAuth провайдера к учетной записи
- Отвязка OAuth провайдера
- Автоматическое создание учетной записи
- Автоматическое добавление в группы
- Автоматическое добавление в организации
- Отказ в аутентификации (заблокированная учетная запись, запрет входа через провайдер)
Решение проблем
Частые проблемы
| Проблема | Возможная причина | Решение |
|---|---|---|
| Кнопка провайдера не отображается на странице входа | Провайдер не включен в настройках | Убедитесь, что флажок "Включить аутентификацию через..." установлен и настройки сохранены |
| Ошибка "Нет ответа от OIDC сервера" | Проблемы с сетевым подключением или неверные сертификаты (для Сбер ID) | Проверьте подключение к интернету и правильность загруженных сертификатов |
| Ошибка "Учетная запись уже привязана" | OAuth аккаунт уже используется другим пользователем | Сначала отвяжите аккаунт от другого пользователя или используйте другой OAuth аккаунт |
| Ошибка "В аутентификации пользователя отказано" | Пользователю запрещен вход через этот провайдер | Проверьте настройки пользователя и убедитесь, что вход через провайдер разрешен |
| Автоматическая регистрация не работает | Автоматическая регистрация отключена | Включите флажок "Разрешить регистрировать учетные записи через..." в настройках провайдера |
Проблемы с сертификатами Сбер ID
Если возникают ошибки при работе с Сбер ID:
- Убедитесь, что загружены все три файла: сертификат клиента, закрытый ключ и цепочка сертификатов сервера
- Проверьте, что цепочка сертификатов содержит все необходимые сертификаты в формате PEM
- Проверьте срок действия сертификатов
- Убедитесь, что закрытый ключ соответствует загруженному сертификату
Проблемы с подписью ЕСИА
Если возникают ошибки при работе с ЕСИА:
- Убедитесь, что КриптоПро установлен на сервере
- Проверьте, что сертификат установлен в хранилище и доступен для процесса веб-сервера
- Убедитесь, что отпечаток (thumbprint) указан правильно
- Если используется токен с пин-кодом, убедитесь, что пин-код указан верно
- Проверьте журнал системы на наличие ошибок подписи
Переходите к разделу Telegram аутентификация для изучения настройки входа через Telegram.