# Интеграция единого входа (SSO)

NocoBase предлагает комплексные решения для единого входа (SSO), поддерживающие множество основных протоколов аутентификации для бесшовной интеграции с существующими корпоративными системами идентификации.

## Обзор

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

## Поддерживаемые протоколы аутентификации

NocoBase поддерживает следующие протоколы и методы аутентификации с помощью **плагинов**:

### Корпоративные протоколы SSO

- **[SAML 2.0](../../auth-verification/auth-saml/index.md)**: Открытый стандарт на основе XML, широко используемый для корпоративной аутентификации. Подходит для интеграции с корпоративными поставщиками идентификации (IdP).

- **[OIDC (OpenID Connect)](../../auth-verification/auth-oidc/index.md)**: Современный уровень аутентификации, построенный на базе OAuth 2.0, предоставляющий механизмы аутентификации и авторизации. Поддерживает интеграцию с основными поставщиками идентификации (например, Google, Azure AD и т.д.).

- **[CAS (Central Authentication Service)](../../auth-verification/auth-cas/index.md)**: Протокол SSO, разработанный Йельским университетом, широко используемый в высших учебных заведениях.

- **[LDAP](../../auth-verification/auth-ldap/index.md)**: Протокол облегченного доступа к каталогам, используемый для доступа и обслуживания распределенных служб каталогов. Подходит для интеграции с Active Directory или другими LDAP-серверами.

### Аутентификация через сторонние платформы

- **[WeCom (WeChat Work)](../../auth-verification/auth-wecom/index.md)**: Поддерживает вход по QR-коду WeCom и бесшовную аутентификацию внутри приложения.

- **[DingTalk](../../auth-verification/auth-dingtalk/index.md)**: Поддерживает вход по QR-коду DingTalk и бесшовную аутентификацию внутри приложения.

### Другие методы аутентификации

- **[SMS-верификация](../../auth-verification/auth-sms/index.md)**: Аутентификация по коду подтверждения, отправленному на мобильный телефон.

- **[Имя пользователя/Пароль](../../auth-verification/auth/index.md)**: Встроенный базовый метод аутентификации NocoBase.

## Шаги интеграции

### 1. Установка **плагина** аутентификации

В зависимости от ваших требований, найдите и установите соответствующий **плагин** аутентификации в менеджере **плагинов**. Большинство **плагинов** аутентификации SSO требуют отдельной покупки или подписки.

![auth_sso-2025-11-24-08-26-46](https://static-docs.nocobase.com/auth_sso-2025-11-24-08-26-46.png)

Например, установите **плагин** аутентификации SAML 2.0:

![](https://static-docs.nocobase.com/6a12f3d8073c47532a4f8aac900e4296.png)

Или установите **плагин** аутентификации OIDC:

![](https://static-docs.nocobase.com/202411122358790.png)

### 2. Настройка метода аутентификации

1. Перейдите в раздел **Настройки системы > Аутентификация пользователей**

![](https://static-docs.nocobase.com/202411130004459.png)

2. Нажмите **Добавить метод аутентификации**
3. Выберите установленный тип аутентификации (например, SAML)

![](https://static-docs.nocobase.com/5076fe56086b7799be308bbaf7c4425d.png)

Или выберите OIDC:

![](https://static-docs.nocobase.com/1efbde1c0e2f4967efc1c4336be45ca2.png)

4. Настройте необходимые параметры согласно подсказкам

### 3. Настройка поставщика идентификации

Каждый протокол аутентификации требует специфической настройки поставщика идентификации:

- **SAML**: Настройте метаданные IdP, сертификаты и т.д.

![](https://static-docs.nocobase.com/976b66e589973c322d81dcddd22c6146.png)

- **OIDC**: Настройте Client ID, Client Secret, конечную точку обнаружения и т.д.

![](https://static-docs.nocobase.com/202411130006341.png)

- **CAS**: Настройте адрес сервера CAS
- **LDAP**: Настройте адрес LDAP-сервера, Bind DN и т.д.
- **WeCom/DingTalk**: Настройте учетные данные приложения, Corp ID и т.д.

### 4. Тестирование аутентификации

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

1. Выйдите из текущей сессии
2. На странице входа выберите настроенный метод SSO

![](https://static-docs.nocobase.com/74963865c9d36a294948e6adeb5b24bc.png)

3. Завершите процесс аутентификации поставщика идентификации
4. Убедитесь, что вход в NocoBase выполнен успешно

## Сопоставление пользователей и назначение ролей

После успешной аутентификации SSO NocoBase автоматически управляет учетными записями пользователей:

- **Первый вход**: Автоматически создает новую учетную запись пользователя и синхронизирует основную информацию (псевдоним, электронную почту и т.д.) от поставщика идентификации.
- **Последующие входы**: Использует существующую учетную запись; при желании синхронизирует обновленную информацию о пользователе.
- **Назначение ролей**: Можно настроить роли по умолчанию или автоматически назначать роли на основе атрибутов пользователя от поставщика идентификации.

## Рекомендации по безопасности

1. **Используйте HTTPS**: Убедитесь, что NocoBase развернут в среде HTTPS для защиты передачи данных аутентификации.
2. **Регулярное обновление сертификатов**: Своевременно обновляйте и ротируйте учетные данные безопасности, такие как сертификаты SAML.
3. **Настройте белый список URL-адресов обратного вызова**: Правильно настройте URL-адреса обратного вызова NocoBase у поставщика идентификации.
4. **Принцип наименьших привилегий**: Назначайте пользователям SSO соответствующие роли и разрешения.
5. **Включите аудит журналов**: Записывайте и отслеживайте действия входа через SSO.

## Устранение неполадок

### Не удается войти через SSO?

1. Убедитесь, что конфигурация поставщика идентификации верна.
2. Убедитесь, что URL-адреса обратного вызова настроены правильно.
3. Проверьте журналы NocoBase на наличие подробных сообщений об ошибках.
4. Убедитесь, что сертификаты и ключи действительны.

### Информация о пользователе не синхронизируется?

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

### Как поддерживать несколько методов аутентификации одновременно?

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

## Связанные ресурсы

- [Документация по аутентификации](../../auth-verification/auth/index.md)
- [Аутентификация по ключам API](../api-keys/index.md)
- [Управление пользователями и разрешениями](../../plugins/@nocobase/plugin-users/index.md)