Настройка SSO
Настройка SSO
Это руководство — для IT-администратора, подключающего корпоративного провайдера идентификации (IdP) к InterMIND. После настройки участники входят с обычной страницы входа: Sign in with SSO → рабочий email → ваш IdP → обратно в InterMIND.
Доступно на: планах Business и Enterprise Настраивается: владельцем команды или администратором Протокол: OpenID Connect (OIDC). Вход через SAML 2.0 в разработке — конфигурация SAML сохраняется, но пока не может использоваться для входа.
Предварительные условия
- Подтверждённый домен — сначала подтвердите домен вашей электронной почты через DNS TXT-запись (см. Управление доменами). Вход через SSO принимает только аккаунты, домен email которых подтверждён вашей командой; это граница тенанта.
- IdP с поддержкой OIDC с discovery — он должен отдавать
/.well-known/openid-configurationпо 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 на странице Integrations:
| Поле | Что вставить |
|---|---|
| Display Name | Любая метка, понятная вашим участникам |
| Issuer URL | Issuer вашего IdP — URL, отдающий /.well-known/openid-configuration |
| Authorization URL | authorization_endpoint из этого discovery-документа |
| Client ID / Client Secret | Из зарегистрированного вами приложения |
Client secret шифруется при хранении и никогда не возвращается в браузер после сохранения.
Okta
- Admin console → 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, либо issuer вашего authorization server, напримерhttps://acme.okta.com/oauth2/default, если вы его используете); Authorization URL =authorization_endpointиз<issuer>/.well-known/openid-configuration
Microsoft Entra ID (Azure AD)
- Entra admin center → 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-провайдер с issuer https://accounts.google.com, если вы предпочитаете явные клиентские учётные данные.)
Проверка подключения
- Откройте страницу входа в приватном/инкогнито-окне
- Нажмите Sign in with SSO и введите рабочий email на подтверждённом домене
- Вас перенаправит к вашему IdP; после аутентификации вы возвращаетесь в InterMIND уже вошедшим
- Вход фиксируется в журнале аудита команды (экспортируется со страницы Users) как
auth.loginс методомsso
Устранение неполадок
| Симптом | Причина |
|---|---|
| «SSO is not configured» после ввода email | Нет активной конфигурации SSO, соответствующей домену этого email — проверьте, что домен подтверждён и карточка 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 | Сохранённая конфигурация — SAML, а вход через SAML пока недоступен |
SSO IdP discovery failed | Issuer URL неверен или не отдаёт /.well-known/openid-configuration |
| «login session expired, start again» | Между началом входа и callback от IdP прошло более 5 минут |
| Вход отклонён после возврата от IdP | IdP вернул email вне ваших подтверждённых доменов или вообще без claim email (Entra: добавьте optional email claim) |
Свойства безопасности
Для опросников по безопасности: SSO-поток — это Authorization Code с PKCE (S256), state и nonce; подпись ID-токена проверяется по JWKS вашего IdP, вместе с issuer и audience; IdP авторитетен только для доменов, подтверждённых через DNS — assertion для любого другого email никогда не создаст сессию; OIDC client secret шифруется при хранении; каждый вход через SSO попадает в журнал аудита команды. Проверки плана, домена и конфигурации выполняются на стороне сервера как при старте входа, так и при callback.