# Единый вход (SSO)

> Сотрудники входят через корпоративный провайдер (Keycloak, AD FS, Entra ID и другие) по OIDC или SAML 2.0; аккаунты создаются при первом входе.

Единый вход (SSO) позволяет сотрудникам компании входить в Buff через **корпоративный провайдер идентификации** — тот же, что открывает им почту и внутренние системы, — без отдельного пароля и кода на почту. Заводить каждого пользователя вручную не нужно: аккаунт создаётся при первом входе и сразу попадает в организацию с назначенной ролью. Уволенный сотрудник, отключённый в провайдере, войти больше не сможет.

Поддерживаются два протокола — **OpenID Connect** (OIDC) и **SAML 2.0**, — а значит, любой распространённый провайдер: Keycloak, Active Directory Federation Services (AD FS), Microsoft Entra ID, Avanpost FAM, Blitz Identity Provider, Okta и другие. Всё настраивает **владелец организации** сам, в приложении, за несколько минут — без обращения в поддержку.

_Иллюстрация: Экран входа: рядом с паролем — «Войти через SSO компании»._

## Как проходит вход

1. Сотрудник нажимает **«Войти через SSO компании»** и указывает **рабочий email** или **имя организации**. По подтверждённому домену почты сервис сам определяет организацию — см. [Домены компании](/docs/sso/domains).
2. Браузер переходит к провайдеру компании. Там сотрудник входит как обычно — паролем, вторым фактором, смарт-картой: правила задаёт ваш провайдер, Buff их не видит.
3. Провайдер возвращает браузер в Buff с подписанным подтверждением личности. Buff проверяет подпись, срок действия и адресата, находит или создаёт аккаунт и открывает сессию.

_Иллюстрация: Шаг 1: рабочий email или имя организации._

_Иллюстрация: Шаг 2: вход на стороне провайдера компании — здесь Keycloak._

_Иллюстрация: Шаг 3: сотрудник в приложении. Аккаунт создан автоматически, он участник организации с ролью по умолчанию._

Что при этом остаётся у нас, а что — у вас:

| | Провайдер компании | Buff |
| --- | --- | --- |
| Пароль сотрудника | проверяет | не знает и не хранит |
| Второй фактор, политика паролей, блокировка уволенных | задаёт | не дублирует |
| Идентификатор сотрудника (`sub` в OIDC, `NameID` в SAML) | выдаёт | хранит как ключ связи с аккаунтом |
| Email и имя | передаёт в утверждении | использует как подсказку для привязки и отображения |
| Роль и права в организации | — | назначает владелец (см. [Участники и права](/docs/teams)) |

## Что нужно, чтобы начать

- Быть **владельцем организации** в Buff.
- Иметь права на регистрацию приложений (клиентов) в вашем провайдере — или коллегу, у которого они есть.
- Для OIDC: адрес провайдера (issuer), `client_id` и `client_secret` зарегистрированного клиента.
- Для SAML: адрес единого входа провайдера (SSO URL) и его сертификат подписи в формате PEM.

Пошагово — в [Настройке](/docs/sso/setup).

## Что дальше

- [Настройка](/docs/sso/setup) — раздел в приложении, поля OIDC и SAML, что зарегистрировать у провайдера, примеры для Keycloak, AD FS и Entra ID.
- [Домены компании](/docs/sso/domains) — вход по рабочему email и автоматическая привязка существующих аккаунтов; TXT-запись для подтверждения.
- [Участники и режим «только SSO»](/docs/sso/policy) — создание аккаунтов при первом входе, роль по умолчанию, привязка существующих аккаунтов, запрет входа по паролю, запасной вход владельца.
- [Устранение неполадок](/docs/sso/troubleshooting) — что означают сообщения об ошибках и как их исправить.
