Поддержка клиентов
Единый вход (SSO) в платформе для общения с клиентами: руководство по OpenID Connect для команд поддержки
Операторы, которые весь день читают переписку с клиентами, должны входить под корпоративной учётной записью, а не под отдельным паролем. Объясняем, как работает SSO на основе OpenID Connect, что решить до включения и как настроить его в собственной установке MonoChat (on-premise).
Команда MonoChat Обновлено: 7 мин чтения
На этой странице
- Почему вход важен для службы поддержки
- Как работает вход через OpenID Connect
- Пять решений, которые нужно принять до включения SSO
- Настройка SSO в установке MonoChat on-premise
- Уже работающие операторы: как связываются учётные записи
- SSO — это идентификация, а роли — это доступ
- Ограничения, которые нужно учесть
- Где SSO в MonoChat
- Источники
Единый вход (SSO) в платформе для общения с клиентами означает, что ваши операторы входят под корпоративной учётной записью у вашего поставщика удостоверений, например Microsoft Entra ID, Okta, Keycloak, AD FS или Google Workspace, а не под отдельным паролем. В основе лежит стандарт OpenID Connect (OIDC). В собственной установке MonoChat (on-premise) его настраивают один раз для всей установки, ограничивают доменами электронной почты вашей компании и при желании делают единственным способом входа.
У команд поддержки есть особая причина заботиться об этом. Учётная запись оператора открывает все диалоги в WhatsApp, Instagram и Messenger, которые он видит: имена, номера телефонов, детали заказов, иногда вопросы о здоровье или платежах. Для такой учётной записи должны действовать те же правила, что и для остальных учётных записей компании, и она должна перестать работать в день ухода сотрудника.
Почему вход важен для службы поддержки
Украденные или неправомерно использованные учётные данные по-прежнему остаются самым частым путём в компанию. В отчёте Verizon 2025 Data Breach Investigations Report, где проанализированы 12 195 подтверждённых утечек, злоупотребление учётными данными (22%) и эксплуатация уязвимостей (20%) названы главными начальными векторами атак.
Платформа переписки со своими паролями добавляет каждому оператору ещё один набор учётных данных: ещё один пароль, который можно использовать повторно, ещё одну учётную запись, которую забудут закрыть при увольнении, ещё один вход, на который не распространяются ваша многофакторная аутентификация и правила условного доступа. При SSO платформа пароль не видит. Его проверяет ваш поставщик удостоверений, применяет ваши правила MFA и доступа и сообщает платформе, кто вошёл.
Как работает вход через OpenID Connect
OpenID Connect — это слой идентификации поверх OAuth 2.0. MonoChat использует поток authorization code:
- Оператор нажимает кнопку SSO на странице входа. MonoChat открывает страницу входа вашего поставщика удостоверений во всплывающем окне.
- Оператор входит там с вашей MFA и вашими правилами.
- Поставщик удостоверений возвращает браузер в MonoChat с одноразовым кодом.
- Сервер MonoChat обменивает код на ID-токен напрямую, между серверами. Токены не проходят через браузер.
- MonoChat проверяет ID-токен и выполняет вход.
ID-токен, по определению спецификации OpenID Connect, — это «a security token that contains Claims about the Authentication of an End-User» (токен безопасности с утверждениями об аутентификации конечного пользователя). MonoChat принимает его, только если:
- он подписан одним из ключей вашего поставщика удостоверений, которые читаются из его discovery-документа (
<issuer>/.well-known/openid-configuration) при каждом входе; - его издатель (
iss) — это ваш issuer, аудитория (aud) — client ID MonoChat, а срок действия (exp) не истёк; - в нём есть
nonce, который MonoChat отправил с запросом: он привязывает токен к этому входу и не даёт воспроизвести его повторно; - в нём есть адрес электронной почты человека, и поставщик не заявляет, что этот адрес не подтверждён.
Запрос также использует PKCE (S256) и значение state; запрос на вход действует 10 минут и может быть использован один раз.
Пять решений, которые нужно принять до включения SSO
| Решение | Варианты | Что мы советуем команде поддержки |
|---|---|---|
| Кто может входить | Любой домен или только домены электронной почты вашей компании | Ограничить вашими доменами |
| Что происходит при первом входе | Создать учётную запись или принимать только приглашённых | Создавать учётные записи, если ваш поставщик удостоверений уже определяет, кто работает в компании |
| Существующие учётные записи | Связать SSO при первом входе, если адрес подтверждён, или после одного входа по паролю | Зависит от того, передаёт ли ваш поставщик email_verified |
| Другие способы входа | Оставить пароли и вход через соцсети или только SSO | Только SSO, когда все связали SSO |
| Кто может открывать новые рабочие пространства | Любой с учётной записью или только люди с нужной ролью | Отключить свободное создание рабочих пространств в корпоративной установке |
Запишите эти решения до того, как менять любые настройки. Именно эти вопросы задаст ваша служба безопасности, а от ответов зависит, какие настройки вам нужны.
Настройка SSO в установке MonoChat on-premise
SSO настраивается для всей установки в серверных настройках, а не для отдельного рабочего пространства. Полное описание — на странице о едином входе в справочном центре; ниже краткая версия.
1. Зарегистрируйте MonoChat у поставщика удостоверений
Создайте веб-приложение с client secret и задайте ему:
- redirect URI
https://<your MonoChat domain>/api/oauth/oidc/redirect; - тип разрешения authorization code;
- области доступа (scopes)
openid email profile; - аутентификацию клиента с секретом, передаваемым как HTTP Basic (
client_secret_basic).
Убедитесь, что ID-токен содержит claim email, и запишите client ID, client secret и issuer.
2. Скопируйте issuer точно
Issuer — это значение issuer в discovery-документе вашего поставщика. Типичные форматы:
| Поставщик удостоверений | Issuer |
|---|---|
| Microsoft Entra ID | https://login.microsoftonline.com/<tenant id>/v2.0 |
| Okta | https://<your Okta domain>/oauth2/default или https://<your Okta domain> |
| Keycloak | https://<your Keycloak host>/realms/<realm> |
| AD FS 2016 и новее | https://<your AD FS host>/adfs |
| Google Workspace | https://accounts.google.com |
Откройте <issuer>/.well-known/openid-configuration в браузере и скопируйте значение символ в символ, включая завершающий слеш, если он есть. Если значения различаются, MonoChat отклоняет каждый вход: это самая частая причина, по которой не проходит первый тест.
3. Добавьте настройки и перезапустите
Публичная часть (issuer, client ID, путь перенаправления, scopes и текст кнопки) находится в public.oauth.oidc; client secret — в oauth.oidc, и он остаётся только на сервере. Две опции там отражают решения из таблицы выше:
autoCreateAccounts: trueсоздаёт учётную запись MonoChat при первом входе человека через SSO, даже если регистрация возможна только по приглашению;allowedEmailDomains: ["yourcompany.com"]отклоняет каждый адрес на другом домене. Для Google Workspace MonoChat проверяет домен Workspace у учётной записи (claimhd), а не адрес электронной почты, потому что личная учётная запись Google может использовать адрес на любом домене.
Кнопка называется «Войти через SSO» на языке каждого пользователя или так, как вы задали сами, например «Войти через Northwind SSO».
4. Сделайте SSO единственным способом входа — безопасно
Когда все связали SSO, задайте разрешённые способы входа (public.auth.methods) как ["oidc"]. Тогда на странице входа остаётся только кнопка SSO, а сервер отклоняет вход по паролю и через соцсети. Суперпользователи root по-прежнему могут войти по паролю по адресу /auth/signin?fallback=1, поэтому недоступный поставщик удостоверений не заблокирует установку. Чтобы новые учётные записи SSO не открывали собственные рабочие пространства, задайте public.disableTenantCreation значение true.
5. Проверьте четыре сценария входа
- Человек с учётной записью: всплывающее окно закрывается, и он внутри.
- Человек без учётной записи: учётная запись создаётся или вход отклоняется, если вы не включили создание учётных записей.
- Человек с адресом на другом домене: отклоняется, если вы ограничили домены.
- Вход по паролю при включённом режиме «только SSO»: отклоняется, а запасной вход root по-прежнему работает.
Уже работающие операторы: как связываются учётные записи
Большинство команд включают SSO, когда у операторов уже есть учётные записи MonoChat. MonoChat связывает SSO с существующей учётной записью с тем же адресом электронной почты одним из двух способов:
- Автоматически, при первом входе через SSO, если установка разрешает объединение, а ID-токен сообщает, что адрес подтверждён (
email_verified: true). - После одного входа по паролю во всех остальных случаях: MonoChat просит человека один раз войти с паролем и связывает SSO тогда. Принятие приглашения в рабочее пространство тоже связывает учётные записи.
Microsoft Entra ID и AD FS не передают email_verified. С ними оставьте вход по паролю разрешённым, пока все не свяжут SSO, или пригласите людей заново, прежде чем переключаться на режим «только SSO».
SSO — это идентификация, а роли — это доступ
Вход даёт человеку учётную запись, но не доступ к вашим диалогам. Учётная запись MonoChat может принадлежать нескольким рабочим пространствам, и люди входят до того, как выберут одно из них. Человек видит рабочее пространство только после того, как оно пригласило его и назначило роль, а роль определяет, какие каналы, диалоги и настройки ему доступны. Как это настроить, читайте в материале о ролях и правах в командных входящих.
Именно такое разделение захочет увидеть аудитор:
- Приём на работу: поставщик удостоверений создаёт человека; администратор рабочего пространства приглашает его и выбирает роль.
- Перевод: меняйте роль или группу в MonoChat; вход при этом не меняется.
- Увольнение: отключите человека у поставщика удостоверений и удалите его из рабочего пространства в MonoChat.
Ограничения, которые нужно учесть
- Мобильное приложение. Приложение MonoChat для Android и iOS пока не поддерживает SSO. Если SSO — единственный способ входа, операторы не смогут войти с телефона, поэтому оставьте другой способ для мобильных пользователей или планируйте смены только за компьютером.
- Выход из системы. Выход из MonoChat не выводит человека из системы у поставщика удостоверений, а выход там пока не выводит его из MonoChat. Отключение уволенного сотрудника у поставщика удостоверений останавливает новые входы; удалите его также из рабочего пространства.
- Сеть. Браузеры людей должны иметь доступ к
/api/oauth/oidc/authorizeи пути перенаправления, а сервер MonoChat должен иметь по HTTPS доступ к discovery-документу, конечной точке токенов и набору ключей вашего поставщика. Если вы также ограничиваете установку по IP, учтите эти пути.
Где SSO в MonoChat
SSO настраивается в серверных настройках всей установки, поэтому сегодня оно относится к MonoChat on-premise: варианту Enterprise для команд, которые запускают платформу на собственных серверах, со своей LLM и векторной базой данных. Вариант on-premise описан на странице Enterprise, а страница о безопасности рассказывает о ролевом доступе, изоляции рабочих пространств и сертификатах. О стороне данных при внедрении ИИ читайте в чек-листе по защите данных в ИИ-чат-ботах.
Чтобы сначала попробовать сам продукт, бесплатный тариф Basic на app.monochat.ai даёт одного оператора и один канал.
Источники
- OpenID Connect Core 1.0, OpenID Foundation, открыто 4 ноября 2026 г.
- Анонс отчёта Verizon 2025 Data Breach Investigations Report, открыто 4 ноября 2026 г.
- Справочный центр MonoChat: единый вход (SSO) для установки on-premise, открыто 4 ноября 2026 г.
- Журнал изменений MonoChat 3.8.43, 2 ноября 2026 г.
Применяйте это на практике с MonoChat