Документация TMS DoQAДокументация TMS DoQA
  • Проекты
  • Пространства
  • AI-функции
  • Автотесты
  • Модуль управления требованиями
  • Тест-кейсы
  • Общие шаги
  • Чек-листы
  • Параметризация тестов
  • Прогоны
  • История редактирования
  • История запуска
  • Баг-репорты
  • Комментарии
  • Папки
  • Фильтры
  • Теги
  • Корзина
  • Дашборд
  • Экспорт
  • Импорт
  • Публичный API
  • Атрибуты (для пользователя)
  • Уведомления
  • Горячие клавиши
  • Лицензии и оплата (облачная версия)
  • Лицензии (серверная версия)
  • Создание проекта
  • Добавление пользователей
  • Редактирование пользователей
  • Сброс пароля
  • Уровень доступа для всех проектов
  • Права доступа к проекту
  • Права доступа к пространству и его разделам
  • Атрибуты (для администратора)
  • Владелец системы
  • Интеграции с трекерами
  • Интеграции с CI/CD
  • Настройки DoQA AI
  • Настройка прокси для LLM-провайдеров
  • Требования
  • Утилита управления сервером

    • Установка (install)
    • Запуск приложения (start)
    • Остановка приложения (stop)
    • Обновление (update)
    • Резервное копирование (backup)
    • Восстановление из резервной копии (restore)
    • Смена домена (domain)
    • Выпуск/обновление SSL-сертификата (cert)
  • Описание параметров среды (.env)
  • Настройка сервера почты
  • Корпоративная авторизация (SSO / LDAP)
  • Релизы облачной версии DoQA
  • Релизы серверной версии DoQA
Скачать PDF
Получить триал
  • Проекты
  • Пространства
  • AI-функции
  • Автотесты
  • Модуль управления требованиями
  • Тест-кейсы
  • Общие шаги
  • Чек-листы
  • Параметризация тестов
  • Прогоны
  • История редактирования
  • История запуска
  • Баг-репорты
  • Комментарии
  • Папки
  • Фильтры
  • Теги
  • Корзина
  • Дашборд
  • Экспорт
  • Импорт
  • Публичный API
  • Атрибуты (для пользователя)
  • Уведомления
  • Горячие клавиши
  • Лицензии и оплата (облачная версия)
  • Лицензии (серверная версия)
  • Создание проекта
  • Добавление пользователей
  • Редактирование пользователей
  • Сброс пароля
  • Уровень доступа для всех проектов
  • Права доступа к проекту
  • Права доступа к пространству и его разделам
  • Атрибуты (для администратора)
  • Владелец системы
  • Интеграции с трекерами
  • Интеграции с CI/CD
  • Настройки DoQA AI
  • Настройка прокси для LLM-провайдеров
  • Требования
  • Утилита управления сервером

    • Установка (install)
    • Запуск приложения (start)
    • Остановка приложения (stop)
    • Обновление (update)
    • Резервное копирование (backup)
    • Восстановление из резервной копии (restore)
    • Смена домена (domain)
    • Выпуск/обновление SSL-сертификата (cert)
  • Описание параметров среды (.env)
  • Настройка сервера почты
  • Корпоративная авторизация (SSO / LDAP)
  • Релизы облачной версии DoQA
  • Релизы серверной версии DoQA
Скачать PDF
Получить триал
  • DoQA сервер

    • Требования
    • Утилита управления сервером
      • Установка (install)
      • Запуск приложения (start)
      • Остановка приложения (stop)
      • Обновление (update)
      • Резервное копирование (backup)
      • Восстановление из резервной копии (restore)
      • Смена домена (domain)
      • Выпуск/обновление SSL-сертификата (cert)
    • Описание параметров среды (.env)
    • Настройка сервера почты
    • Корпоративная авторизация (SSO / LDAP)
  1. Документация
  2. DoQA сервер
  3. Корпоративная авторизация (SSO / LDAP)

Корпоративная авторизация (SSO / LDAP)

DoQA поддерживает возможность входа в коробочную (on-premise) установку DOQA под корпоративной учётной записью сотрудника — через единый вход компании (SSO по OpenID Connect) или корпоративный каталог (LDAP / Active Directory), без отдельного пароля DOQA. Локальный вход по паролю продолжает работать.

Способы входа

СпособЧто этоКто проверяетАвто-создание пользователя
Локальный парольemail + пароль DOQAсама DOQAнет (через приглашение)
LDAP / Active Directoryemail + доменный парольваш LDAP/AD серверда, опционально (JIT)
Корпоративный SSO (OIDC)вход через ваш IdP (Keycloak, AD FS, Azure AD/Entra, Blitz, GitLab self-managed…)ваш IdP (с редиректом)да, опционально (JIT)

Способы сосуществуют: кнопка корпоративного входа показывается на экране логина рядом с формой email/пароль; форму можно скрыть строгим режимом (см. ниже).

Как это работает

  • Подключается один корпоративный SSO-провайдер. Настройка — через переменные окружения; секрет хранится только на сервере.
  • При первом входе пользователь может создаваться автоматически (JIT) — по белому списку доменов почты или открыто; по умолчанию выключено.
  • Если у пользователя уже есть учётная запись DoQA с тем же подтверждённым email — внешняя учётка к ней безопасно привязывается (новый пользователь не создаётся).
  • Новый пользователь всегда получает права на «Просмотр» и не занимает слот лиценизии; реальные права выдаёт администратор внутри DoQA.
  • Можно включить строгий режим (запрет входа по локальному паролю для SSO-управляемых) с аварийным доступом для администраторов.

Минимум для старта (SSO)

Чтобы кнопка корпоративного входа появилась и вход заработал, достаточно пяти переменных:

SSO_ENABLED=true
SSO_ISSUER=https://idp.company.ru/realms/company      # или алиас SSO_BASE_URL
SSO_CLIENT_ID=doqa
SSO_CLIENT_SECRET=super-secret-from-idp
SSO_REDIRECT=https://doqa.company.ru/api/auth/sso/callback

Остальное (scopes, надпись на кнопке, JIT, кэши) имеет рабочие значения по умолчанию.

Важно

  • SSO_ISSUER должен быть доступен из контейнера бэкенда (по нему идут discovery/token/JWKS) и одновременно совпадать с хостом, на который редиректит браузер. В Docker частая ошибка: бэкенд видит keycloak:8089, а браузер — localhost. Хост должен быть одинаков с обеих сторон.

  • SSO_REDIRECT должен совпадать символ-в-символ с Redirect URI, зарегистрированным в IdP, и быть адресом, который видит браузер.

Шаги подключения SSO (OIDC)

Требования

  • DoQA доступна по HTTPS на постоянном адресе.
  • IdP доступен по сети из коробки (исходящие запросы к IdP не заблокированы).
  • IdP поддерживает OIDC discovery ({issuer}/.well-known/openid-configuration) и подпись токена RS256.

Зарегистрировать DOQA как OIDC-клиент в IdP

Создайте «приложение»/«клиент» (confidential, authorization code flow) и получите client_id, client_secret, issuer. Разрешите scope openid email profile. Redirect URI пропишите точно в виде:

https://<ВАШ_АДРЕС_DOQA>/api/auth/sso/callback

Любое расхождение Redirect URI (протокол/домен/порт/путь/слеш) → IdP откажет в входе. Сверяйте посимвольно.

Памятки по популярным IdP:

  • Keycloak: Clients → Create → OpenID Connect; Client authentication = On (secret во вкладке Credentials); Valid redirect URIs = ваш callback; issuer = https://{keycloak}/realms/{realm}.
  • AD FS / Azure AD (Entra ID): App registration; Redirect URI (Web) = ваш callback; выдайте client secret; включите выдачу ID-токена; настройте claims email, name.
  • GitLab self-managed: Admin/Group/User → Applications; Redirect URI = ваш callback; scopes openid email profile; issuer = базовый URL GitLab (https://gitlab.company.ru).

Прописать переменные и проверить

Заполните данные SSO и перезапустите приложение. Затем:

  • Откройте страницу входа DoQA → должна появиться кнопка корпоративного входа.
  • Нажмите → редирект в IdP → авторизуйтесь → возврат в DoQA уже залогиненным.

Переменные окружения SSO (полный справочник)

Коннектор (обязательное)

ПеременнаяОбяз.ДефолтЧто это / на что влияет
SSO_ENABLEDдаfalseГлавный выключатель. Кнопка появляется только при true и заданных SSO_CLIENT_ID + SSO_CLIENT_SECRET + SSO_ISSUER.
SSO_ISSUER (алиас SSO_BASE_URL)да—Базовый URL IdP — по нему берётся discovery и endpoints. Без хвостового слэша и без /.well-known/.... Значение iss в токене сверяется с ним.
SSO_CLIENT_IDда—Идентификатор клиента из IdP. Сверяется с aud в токене.
SSO_CLIENT_SECRETда—Секрет клиента (обмен кода на токен). Хранится только в env, не в БД, не в логах, не на фронте.
SSO_REDIRECTда—Полный URL callback …/api/auth/sso/callback. Должен совпадать с Redirect URI в IdP и быть виден браузеру.
SSO_SCOPESнетopenid email profileЗапрашиваемые scope (через пробел/запятую). openid обязателен. Группы не запрашиваются и не используются.
SSO_LABELнетCorporate SSOНадпись/название провайдера на экране входа.
SSO_TYPEнетoidcТип коннектора; поддержан только oidc.

JIT — авто-создание пользователей

ПеременнаяОбяз.ДефолтЧто это / на что влияет
SSO_JIT_ENABLEDнетfalseГлавный выключатель авто-создания (для SSO и LDAP). При false войти могут только заранее заведённые/приглашённые пользователи (или связанные по подтверждённому email).
SSO_JIT_MODEнетdomain_allowlistПолитика допуска (действует при SSO_JIT_ENABLED=true): domain_allowlist — создавать, если домен email в списке; open — создавать любого из IdP (только для доверенной сети).
SSO_JIT_ALLOWED_DOMAINSпри domain_allowlistпустоБелый список доменов email через запятую/пробел (company.ru,company.com). Пустой список = никто не создаётся (безопасный дефолт).

Строгий режим (enforce) и аварийный доступ

ПеременнаяОбяз.ДефолтЧто это / на что влияет
SSO_ENFORCEнетfalseПри true локальный пароль-вход запрещён для SSO-управляемых: тех, чей домен email ∈ SSO_JIT_ALLOWED_DOMAINS, или у кого есть привязанная SSO-учётка. Проверка серверная. LDAP не затрагивается.
SSO_BREAKGLASS_EMAILSпо смыслу при enforceпустоEmail через запятую/пробел, которым пароль-вход разрешён всегда (аварийный доступ). Это единственный break-glass — авто-исключений нет.

Тонкая настройка (обычно не трогают)

ПеременнаяДефолтЧто это / на что влияет
SSO_DISCOVERY_CACHE_TTL3600Сколько секунд кэшировать OIDC discovery.
SSO_JWKS_CACHE_TTL3600TTL кэша публичных ключей (JWKS). Влияет на скорость подхвата ротации ключей IdP.
SSO_CLOCK_LEEWAY60Допуск рассинхрона часов (сек) при проверке exp/iat/nbf.
SSO_STATE_TTL600Сколько секунд живёт начатый вход (state/nonce/PKCE). Мало → пользователь «не успевает» в IdP.
Последнее обновление:
Prev
Настройка сервера почты