Проблема с Keycloak и выходом из системы идентификации SAML - PullRequest
0 голосов
/ 03 августа 2020

У меня проблема с конфигурацией Keycloak и единым выходом из системы SAML Identity Provider.

Сценарий:

  1. Пользователь пытается войти в Service Provider с помощью клиента Keycloak (OID)
  2. K C перенаправляет к провайдеру идентификации SAML
  3. Ввод правильных учетных данных, пользователь вошел в систему, K C создает сеанс, и пользователь перенаправляется обратно на страницу SP
  4. На другой вкладке пользователь напрямую входит в IP (учетные данные не требуются из-за SSO)
  5. Пользователь выходит из системы из SP
  6. После обновления sh 2-я вкладка (IP) пользователь выходит из системы.

Однако, если пользователь сначала выходит из системы с IP, сеанс SP не закрывается, и пользователь все еще находится в системе:

Пользователь выходит из системы с IP (перенаправление на конечную точку K C и возврат обратно на страницу входа по IP) После обновления sh пользователь все еще находится в SP

Keycloak правильно принимает запрос samlp: LogoutRequest и возвращает

В консоли администратора K C я все еще вижу, что для данного клиента (и пользователя) есть активный сеанс. На самом деле я вижу запрос на выход из SAML с IP только в K C stdout (фильтр запроса-сброса), но в K C.

события выхода из системы не произошло. Я не совсем понимаю в деталях, как работает SAML, но не должен ли пользователь выйти из SP с помощью SLO? Или, может быть, мне что-то не хватает в конфигурации клиента / области / IP K C? Спасибо за помощь / объяснение

1 Ответ

0 голосов
/ 08 августа 2020

Требования для работы глобального выхода из системы

  • Клиенты, которые используются обоими поставщиками услуг, должны находиться в одной области.
  • Когда вы выходите из системы IdP, вы видите, что выполняется запрос на выход от каждого из поставщиков услуг? Я считаю, что в вашем случае он не вызывает URL-адрес выхода для вашего SP. Это должно быть настроено на уровне клиента.
  • Если вызывается URL-адрес выхода из системы для SP, и даже если вы вошли в свой SP, то это означает, что у SP есть некоторые проблемы при реализации выхода из системы.

Когда вы сначала выходите из SP, в этом случае ваш SP отправляет запрос выхода из системы IdP, и поэтому вы выходите из системы как из IdP, так и из SP. Но в другом случае, я считаю, что URL-адрес выхода из системы не вызывается (что может быть из-за отсутствия конфигурации в клиенте).

Можете ли вы опубликовать снимок экрана с конфигурацией, чтобы помочь вам лучше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...