Работа по протоколу в рамках определенного idP

Аутентификация через SSO

Со стороны пользователя:

  1. При переходе по URL-адресу любой страницы SMP без аутентификации (кроме прямого URL страницы входа) открывается страница для аутентификации со стороны IdP и производится запрос аутентификации пользователя в idP с перечислением параметров, которые в дальнейшем будут использоваться SMP для идентификации пользователя.
  2. При получении ответа со стороны IdP, SMP парсит его, определяет атрибуты и их значения, по которым искать сотрудника и выполняет поиск пользователя по указанным атрибутам и точному соответствию значений:

    • Если не найдено ни одного сотрудника, то на странице входа в систему отображается сообщение: "Невозможно войти в систему. Учетная запись не найдена, обратитесь к администратору." Аутентификации пользователя не происходит.
    • Если найдено более одного сотрудника, то на странице входа в систему отображается сообщение: "Невозможно войти в систему. Найдено больше одной учетной записи, обратитесь к администратору." Аутентификации пользователя не происходит.

      В подсчете количества сотрудников не участвуют архивные сотрудники. Архивные сотрудники пропускаются при попытке аутентификации.

    • Если найден ровно один сотрудник, то отрабатывают все стандартные проверки при аутентификации пользователя.
    • Если при поиске сотрудника возникла прочая ошибка, то на странице входа в систему отображается соответствующее сообщение об ошибке. Аутентификации пользователя не происходит.
  3. При успешной аутентификации происходит переход на страницу SMP, к которой изначально обращался пользователь.

При переходе по прямому URL страницы входа (${baseurl}/sd и ${baseurl}/sd/index.jsp) аутентификация через SSO не отрабатывает.

Обработка прерывания сессии в SMP при инициации прерывания сессии со стороны IdP

SMP слушает по определенному URL запросы на прерывание сессий пользователей, приходящие со стороны IdP:

  1. Если со стороны IdP пришел запрос про прерывание сессии пользователя, то SMP:

    • Выполняет попытку разрыва сессии указанного пользователя.
    • Пишет сообщение об ошибке в лог, если определить пользователя не удалось.
  2. После разрыва сессии пользователя, происходит переход на страницу входа в систему.

    Прозрачная аутентификация через провайдеров SSO не отрабатывает.

Отправка сообщения в IdP при прерывании сессии со стороны SMP

Если прерывается сессия пользователя аутентифицированного через SSO, то:

  1. После разрыва сессии пользователя, происходит переход на страницу входа в систему.

    Прозрачная аутентификация через провайдеров SSO не отрабатывает.

  2. SMP отсылает соответствующее сообщение в IdP на указанный в настройках URL. Сообщение сигнализирует о выходе пользователя из системы.