Как я могу удалить сеанс для указанного c пользователя для указанного c ServiceProvider в WSO2 IS? - PullRequest
0 голосов
/ 04 апреля 2020

Существует ли какой-либо веб-сервис, предоставляемый сервером идентификации WSO2, для удаления сеанса для указанного c пользователя для указания c ServiceProvider? Я использую SAMLSSO для многих веб-приложений, и все они интегрируются с сервером WSO2. Скажем так, сценарий таков: пользователь входит в систему одновременно с двумя приложениями. Я хочу выйти из него из одного приложения. Существует один сервис, предоставляемый при выходе из системы, и он обеспечивает единый выход из системы, и сеанс будет удален для всех приложений. Существует ли веб-служба, предоставляемая IS, или способ выхода из системы для одного указанного c приложения?

1 Ответ

2 голосов
/ 04 апреля 2020

То, что вы запрашиваете, - это возможность удалить определенного участника c из сеанса, созданного на стороне Identity Server. Я не вижу прямого пути (OOTB) для достижения этого.

Ближайшее, чего вы можете достичь, это как показано ниже.

  1. Заставьте ваше приложение выполнить forceAuth. ForceAuth будет запрашивать учетные данные пользователя, несмотря на наличие файлов cookie в браузере. (Это не позволит пользователю испытывать комфорт SSO. Тем не менее, вы можете аутентифицироваться на IS)
  2. Запретить приложению отправлять запрос SLO в WSO2. Вместо этого прекратите сеанс self (application) при выходе из системы.
  3. Когда ваше приложение действительно хочет выполнить SLO (выйти из всех приложений, а не только из ваших), ваше приложение может отправить запрос SLO на Identity Server.

Выполнение принудительной аутентификации:

  1. SAML - Отправьте forceAuth=true в качестве параметра запроса в запросе на вход в систему. Или измените тело полезной нагрузки SAML AuthenricationRequest, чтобы указать принудительную аутентификацию, как в spe c (строка 2042) .
  2. OID C - Отправьте prompt=login в качестве дополнительного параметра запроса в запросе /authorization.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...