SSO
Назначение
Сервис обеспечивает единый вход в систему через корпоративные или внешние провайдеры аутентификации. Включает интеграцию LDAP и социальные логины (Google, Facebook и др.) по документации Dinext.
Цели и задачи
- Входить в Dinext с учетными данными корпоративного каталога (LDAP).
- Предоставлять вход через социальные сети (social login) для выбранных провайдеров.
- Уменьшать количество паролей и упрощать онбординг пользователей.
- Централизованно управлять учетными записями в LDAP при использовании корпоративного каталога.
- Обеспечивать безопасность и соответствие политике доступа компании.
Для кого
- Все пользователи, входящие через LDAP или social login.
- Администраторы, настраивающие LDAP и ключи социальных провайдеров.
- Руководители ИТ при определении политики единого входа.
Основные понятия
- SSO (Single Sign-On) — единый вход: аутентификация через один провайдер (LDAP, OAuth провайдер).
- LDAP — протокол доступа к каталогу; используется для проверки логина/пароля и при необходимости синхронизации атрибутов пользователя.
- Social Login — вход через OAuth провайдера (Google, Facebook, GitHub и т.д.); создание или привязка пользователя при первом входе.
- LDAP Settings, Social Login Key — тип документа в Dinext для настройки подключений.
Основные сущности / объекты
- ldap_settings, social_login_key .
Основные сценарии / процессов
Настройка LDAP
- Создать запись LDAP Settings: URL сервера LDAP, Base DN, при необходимости привязка атрибутов (uid, email) к полям User.
- Указать учетные данные для подключения к каталогу (bind user/password) или анонимный доступ при поддержке.
- Включить LDAP; при следующем входе пользователь вводит логин/пароль — проверка выполняется против LDAP. При успехе создается или обновляется User в Dinext (если настроена синхронизация).
- Права и роли по-прежнему задаются в Dinext; LDAP только проверяет личность.
Настройка Social Login
- В провайдере (Google Cloud Console, Facebook Developers и т.д.) создать приложение и получить Client ID и Client Secret.
- В Dinext создать Social Login Key: выбрать провайдер, вставить Client ID и Client Secret, указать redirect URL по инструкции.
- Включить провайдер; на странице входа появится кнопка «Войти через Google» (или другой).
- При первом входе через провайдер создается пользователь (или привязывается к существующему по email); далее вход без пароля Dinext.
- Управление ролями и правами — в карточке User в Dinext.
Правила и ограничения
- LDAP и social login не заменяют управление ролями: роли назначаются в Dinext. При LDAP можно настроить маппинг групп LDAP на роли при поддержке в версии.
- Храните Client Secret и пароли LDAP в безопасности; не коммитить в репозиторий. Использовать переменные окружения или защищенные хранилища при возможности.
- При отключении LDAP или провайдера пользователи с только этим способом входа не смогут войти; обеспечьте резервный способ или пароль в Dinext для администратора.
Результаты / отчетность
- Успешный вход пользователей через LDAP или social login.
- Журналы входа (при включенном логировании) для аудита.
- Централизованное управление учетными записями в LDAP при использовании.
Типовые вопросы и ошибки (FAQ)
Ошибка при входе через LDAP
Проверьте: доступность LDAP-сервера с хоста Dinext; правильность Base DN и фильтра; корректность bind user/password. Включите отладочный вывод LDAP в логах при необходимости. Убедитесь, что пользователь существует в каталоге и атрибуты совпадают с настройками маппинга.
Как привязать существующего пользователя к social login?
Обычно при первом входе через провайдер система ищет пользователя по email; при совпадении привязывает социальный аккаунт к существующему User. Иначе создается новый пользователь; объединять вручную через смену email или через админ-инструменты приложения (если есть).
Можно ли использовать и LDAP, и social login одновременно?
Да. LDAP проверяется при вводе логина/пароля на форме входа; кнопки social login доступны параллельно. Пользователь может входить любым из настроенных способов, если его учетная запись связана с LDAP или с социальным провайдером.