Как проверить сессию внешнего IDP через x минут? - PullRequest
0 голосов
/ 10 апреля 2019

Я работаю над предложением SaaS, и мы используем IdentityServer 3 для аутентификации. Для поддержки единого входа с внешними поставщиками удостоверений мы используем SAML2p с промежуточным ПО Sustainys Saml2 Owin, поэтому IdentityServer является SP.

Однако после входа в систему с внешним IDP мы хотели бы проверять внешнюю идентификацию периодически или, по крайней мере, через некоторое время. Допустим, вы вошли в систему с помощью служб федерации Active Directory (ADFS), прошли проверку подлинности и работаете в программном обеспечении. Затем кто-то решит, что вы больше не являетесь действительным пользователем в организации (уволен), и отключите его в своей AD. Как долго вы можете продолжать работать в программном обеспечении, не проходя проверку с IDP / ADFS? Сессия IdentityServer длится 60 минут, но, конечно, скользящая. Это будет скользить навсегда? Есть ли способ настроить это?

В Idsrv есть методы, в которых мы могли бы выполнить некоторые проверки, как, например, в IAuthenticationSessionValidator. Кто-то предложил вызвать конечную точку userinfo, но не все IDP совместимы с OpenID Connect или имеют такие конечные точки. Я хотел бы что-то общее, мы не контролируем внешнего поставщика. Мы также планируем поддерживать WS-Fed и OpenID Connect.

Я нашел этот вопрос, но на самом деле у него не было ответа, который я ищу: SSO: должен ли SP проверять сеанс с IDP в каждом запросе

Было бы замечательно, если есть способ настроить интервал или правило для перенаправления на внешний IDP для проверки сеанса? Перенаправление на каждый запрос кажется слишком большим. (Я даже не знаю, как это сделать)

...