Подтвердите активную сессию, спросив IDP - PullRequest
0 голосов
/ 01 сентября 2018

Вариант использования

Чтобы свести к минимуму необходимость выполнения пользователями Sing On Я хотел бы запустить активный сеанс как можно дольше.

Пользователь выполняет SSO, а SP позволяет ему иметь доступ до тех пор, пока IDP не скажет - сессия (или учетная запись) больше не активна.

SP должен был бы спросить IDP - сеанс активен для этого пользователя?

Мой вопрос

Возможно ли вышеизложенное, и если да, то какова наилучшая практика реализации SP, запрашивающего IDP активности сеанса (учетной записи) для конкретного пользователя?

Как я понимаю, после успешной первоначальной аутентификации тело ответа SAML будет содержать токен сеанса, который может быть сохранен для пользователя. Тот же токен сеанса можно использовать для запроса IDP, чтобы понять, активен ли сеанс (аккаунт). Однако что это будет за услуга?

Любое руководство высоко ценится.

1 Ответ

0 голосов
/ 01 сентября 2018

В спецификации SAML нет ничего, что можно было бы использовать для запроса статуса учетной записи.

То, что вы можете сделать, это использовать флаг isPassive в запросе SAML, чтобы увидеть, есть ли текущий сеанс единого входа в IDP пользователя. Вместо этого вы могли бы попросить ВПЛ изменить свое поведение и вернуть статус учетной записи, но это было бы соглашение «один на один» за пределами стандарта.

Альтернативой является использование обратного канала с протоколом, подобным SCIM, см .: https://tools.ietf.org/html/rfc7644#section-3.4.1,, который позволяет запрашивать состояние учетной записи пользователя с помощью вызова REST. Но, конечно, это протокол, отличный от SAML, и он должен поддерживаться IDP.

...