Настройка SSO
Настройка SSO
Это руководство предназначено для IT-администратора, подключающего корпоративный поставщик удостоверений (IdP) к InterMIND. После настройки участники входят через обычную страницу входа: Войти через SSO → рабочий email → ваш IdP → возврат в InterMIND. Обзор без технических деталей см. на странице функции единого входа (SSO).
Доступно на тарифах: Business и Enterprise Настраивается: владельцем команды или администратором Протокол: только OpenID Connect (OIDC). SAML 2.0 не поддерживается — Okta, Microsoft Entra ID и Google Workspace поддерживают OIDC.
Предварительные требования
- Проверенный домен — сначала подтвердите свой почтовый домен через DNS TXT-запись (см. Управление доменами). Вход через SSO принимается только для аккаунтов, почтовый домен которых ваша команда проверила; это и есть граница тенанта.
- IdP, поддерживающий OIDC с discovery — он должен предоставлять доступ к
/.well-known/openid-configurationпо URL эмитента (Issuer URL). Okta, Microsoft Entra ID и Google — все поддерживают.
Что нужно зарегистрировать в вашем IdP
Создайте OIDC Web Application в вашем IdP со следующими параметрами:
| Параметр | Значение |
|---|---|
| Redirect URI (callback) | https://intermind.com/api/auth/sso/callback — также отображается в карточке SSO после выбора OIDC |
| Grant type | Authorization Code (PKCE S256 используется автоматически) |
| Scopes | openid email profile |
ID-токен, выпускаемый вашим IdP, должен содержать email пользователя, а домен этого email должен быть одним из ваших проверенных доменов — иначе вход будет отклонен.
Затем заполните карточку SSO на странице интеграций:
| Поле | Что вставить |
|---|---|
| Display Name | Любое название, которое узнают ваши участники |
| Issuer URL | Эмитент вашего IdP — URL, который предоставляет /.well-known/openid-configuration |
| Authorization URL | authorization_endpoint из этого документа discovery |
| Client ID / Client Secret | Из зарегистрированного вами приложения |
Секрет клиента шифруется при хранении и никогда не возвращается в браузер после сохранения.
Okta
- Консоль администратора → Applications → Create App Integration → метод входа OIDC, тип приложения Web Application
- Sign-in redirect URI:
https://intermind.com/api/auth/sso/callback - Назначьте пользователей или группы, которым нужен доступ
- Скопируйте Client ID и Client Secret
- В InterMIND: Issuer URL = URL вашей организации Okta (например,
https://acme.okta.comили URL эмитента вашего сервера авторизации, такой какhttps://acme.okta.com/oauth2/default, если он у вас есть); Authorization URL =authorization_endpointиз<issuer>/.well-known/openid-configuration
Microsoft Entra ID (Azure AD)
- Центр администрирования Entra → App registrations → New registration
- Платформа Web, redirect URI
https://intermind.com/api/auth/sso/callback - Certificates & secrets → New client secret — немедленно скопируйте Value секрета
- Client ID = Application (client) ID на странице обзора (Overview)
- Убедитесь, что ID-токен содержит email пользователя: Token configuration → Add optional claim → ID → email
- В InterMIND: Issuer URL =
https://login.microsoftonline.com/<tenant-id>/v2.0; Authorization URL =https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
Google Workspace
Регистрация приложения не требуется. В карточке SSO выберите тип провайдера Google Workspace и сохраните — участники на ваших проверенных доменах войдут через свой аккаунт Google и автоматически присоединятся к вашей команде. (Google также можно подключить как универсальный OIDC-провайдер с эмитентом https://accounts.google.com, если вы предпочитаете явные учетные данные клиента.)
Проверка подключения
- Откройте страницу входа в приватном окне или режиме инкогнито
- Нажмите Войти через SSO и введите рабочий email на вашем проверенном домене
- Вы будете перенаправлены в ваш IdP; после аутентификации вы вернетесь в InterMIND авторизованным
- Вход будет зафиксирован в журнале аудита команды (доступен для экспорта со страницы Пользователи) как
auth.loginс методомsso
Устранение неполадок
| Симптом | Причина |
|---|---|
| «SSO is not configured» после ввода email | Ни одна включенная конфигурация SSO не совпадает с этим почтовым доменом — проверьте, что домен подтвержден, а карточка SSO сохранена |
SSO login is not available: plan | Тариф команды больше не включает SSO |
SSO login is not available: domain-not-verified | Домен всё еще ожидает проверки DNS |
SSO login is not available: config-incomplete | Отсутствует Client ID или Client Secret — сохраните карточку SSO заново |
SSO login is not available: type-unsupported | Сохраненный тип провайдера не поддерживается потоком входа — удалите конфигурацию SSO и создайте её заново как OIDC или Google Workspace |
SSO IdP discovery failed | Issuer URL указан неверно или не предоставляет /.well-known/openid-configuration |
| «login session expired, start again» | Между началом входа и обратным вызовом IdP прошло более 5 минут |
| Вход отклонен после обратного перенаправления из IdP | IdP вернул email вне ваших проверенных доменов или вообще не вернул утверждение (claim) email (Entra: добавьте опциональное утверждение email) |
Свойства безопасности
Для опросных листов по безопасности: поток SSO использует Authorization Code с PKCE (S256), state и nonce; подпись ID-токена проверяется по JWKS IdP вместе с эмитентом и аудиторией; IdP является авторитетным только для доменов, проверенных через DNS — утверждение для любого другого email никогда не создает сессию; секрет клиента OIDC зашифрован при хранении; каждый вход через SSO попадает в журнал аудита команды. Ограничения тарифа, домена и конфигурации применяются на стороне сервера как при старте входа, так и при обратном вызове.