Skip to content

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

Страница для администраторов. Единый вход позволяет сотрудникам входить в TAktom учётной записью корпоративного провайдера — по протоколу OIDC. Подходит любой OIDC-совместимый провайдер, облачный или развёрнутый в вашем контуре, и их может быть несколько одновременно.

Функция поставляется отдельно

Единый вход не входит в базовую поставку: он должен быть разрешён конфигурацией инстанса. Если раздела Админ → Единый вход нет, начните с этого — см. Функции и настройки.

Что происходит при входе

На странице входа появляется кнопка «Войти через …» для каждого включённого провайдера. Дальше человек попадает на страницу провайдера, а вернувшись — оказывается в TAktom.

Учётная запись при первом входе заводится автоматически (это можно запретить, см. ниже): имя и почта берутся у провайдера, роль — из сопоставления групп, если оно настроено. Такая запись занимает лицензионное место ровно как заведённая руками, и лимит мест на неё распространяется.

У учётных записей, созданных провайдером, пароля в TAktom нет — вход по паролю для них невозможен, пока человек не задаст пароль сам через «Забыли пароль?».

Три рубильника

Кнопка на странице входа появится, только когда сойдутся все три условия. Так сделано намеренно, чтобы функция не включилась сама:

  1. функция разрешена конфигурацией инстанса и включена в Админ → Плагины;
  2. конфиг-модуль «Единый вход» включён в Админ → Настройки. Пока он выключен, кнопок нет, как бы ни были настроены провайдеры;
  3. сам провайдер заполнен и включён на Админ → Единый вход.

Настройка провайдера

Откройте Админ → Единый вход и добавьте провайдера. Ему задаётся идентификатор — строчные латинские буквы, цифры и дефис, до 32 символов: он попадает в адрес входа, и сменить его потом нельзя, только удалить провайдера и завести заново.

На той же странице показан адрес возврата (redirect URI) вашего инстанса — впишите его в приложение на стороне провайдера символ в символ.

Поля одинаковы для любого провайдера:

ПолеЧто задаёт
ПровайдерОтображаемое название — из него складывается текст кнопки «Войти через …».
IssuerБазовый адрес провайдера, по которому доступно описание OIDC. Всё остальное — адреса и ключи — берётся оттуда автоматически.
Client ID / Client secretРеквизиты приложения, созданного на стороне провайдера. Секрет наружу не отдаётся: интерфейс показывает лишь, задан он или нет.
ScopesМинимум openid email profile. Добавьте groups, если провайдер отдаёт группы и нужно сопоставление ролей.
Разрешённые доменыСписок доменов почты через запятую. Пусто — ограничения нет.
Доп. параметры авторизацииПараметры, которые ваш провайдер принимает сверх стандартного OIDC. Стандартные параметры перекрыть нельзя.
Группы → ролиСопоставление групп провайдера с глобальными ролями. Порядок задаёт приоритет; совпадений нет — роль по умолчанию (участник). Применяется при создании учётной записи.
Доверять email без email_verifiedДля собственного провайдера, который не сообщает, подтверждён ли адрес.
Иконка (URL)Картинка на кнопке входа.

Изменения подхватываются примерно за десять секунд. Кнопка «Проверить» опрашивает провайдера и показывает, отвечает ли он и сходятся ли настройки.

Разрешённые домены у публичного провайдера

Если провайдер публичный, пустое поле «Разрешённые домены» означает, что войти сможет любой его аккаунт — и, при включённом автосоздании, получить у вас учётную запись. Ограничивайте домены.

Собственный провайдер с самоподписанным сертификатом

Такой сертификат по умолчанию не принимается, и вход падает с ошибкой TLS. Корневой сертификат нужно добавить в инстанс при развёртывании — см. Конфигурация → Единый вход.

Связывание и автосоздание

Два параметра функции задают, что делать с человеком, который вошёл впервые. В интерфейсе их пока нет — они меняются на стороне установки, в конфигурации конфиг-модуля единого входа; по умолчанию оба включены:

  • Связывать по адресу почты (по умолчанию включено) — если локальная учётная запись с таким адресом уже есть, вход привязывается к ней. Работает только для подтверждённого провайдером адреса: иначе чужой непроверенный адрес открыл бы доступ к существующей записи.
  • Автосоздание (по умолчанию включено) — заводить учётную запись при первом входе. Выключите, если состав пользователей должен вестись вручную: тогда войдут только те, кому запись уже заведена.

Аварийный доступ

Не отключайте вход по паролю заранее

Сначала убедитесь, что хотя бы один администратор действительно вошёл через провайдера. Отключив пароль до этого, вы рискуете не попасть в инстанс вообще.

Если доступ всё же потерян — провайдер лёг, приложение на его стороне отозвали — есть два пути, и оба не зависят от него:

  • токен владельца установки: он даёт административный доступ к API, минуя вход в интерфейс, и позволяет вернуть парольный вход. См. Конфигурация → Токен владельца;
  • «Забыли пароль?» — владельцу почтового адреса доступен обычный сброс пароля, даже если учётная запись была создана провайдером.

Если вход не удался

Человек возвращается на страницу входа с сообщением об ошибке. Типичные причины:

Что видит пользовательГде искать причину
Время на вход истеклоС нажатия кнопки провайдера до возврата прошло больше десяти минут, либо переход повторён по той же ссылке (она одноразовая) — просто начать заново.
Провайдер отклонил входОтказ на стороне провайдера: человек отменил вход или приложение не одобрено.
Провайдер недоступенПлагин не запущен, провайдер не отвечает или неверный issuer. При выключенной функции ошибки не будет — кнопок на странице входа просто нет.
Адрес уже занят локальной учётной записьюСвязывание по адресу запрещено или адрес не подтверждён провайдером. Включите связывание и добейтесь подтверждённого адреса (для собственного провайдера — «Доверять email без email_verified») либо освободите адрес: ручного связывания записей в интерфейсе нет.
Адрес принадлежит клиенту порталаКонтуры сотрудников и клиентов Service Desk не смешиваются — нужен другой адрес.
Провайдер не передал адрес почтыВ приложении на стороне провайдера не выданы нужные scopes.
Автосоздание выключеноЗаведите учётную запись заранее либо включите автосоздание.
Учётная запись отключенаВход этой записи отключён администратором — см. Пользователи и права.
Достигнут предел пользователейСвободных лицензионных мест нет — см. Пользователи и права.
Добавление пользователей приостановленоУ инстанса задолженность по оплате — новые учётные записи не создаются, пока она не погашена.

Что дальше