Как настроить файлы cookie клиента и IdentityServer - PullRequest
0 голосов
/ 25 июня 2018

Я перемещаю веб-приложение ASP.NET из проверки подлинности с помощью форм на проверку подлинности OIDC через IdentityServer с неявным потоком для получения идентификатора токена. Аутентификация с помощью форм имеет параметры в клиентском web.config, такие как «timeout» и «slideExpiration», и я ищу способ убедиться, что клиент так же настраивается при использовании IdentityServer.

Я понимаю, что в этом сценарии есть две отдельные системы управления cookie - клиентская и IdentityServer. Я хотел бы выровнять их в максимально возможной степени и иметь единственное место для настройки этих параметров. Это может быть любой конец, одна ответственность передается другой.

Один из вариантов, который я исследовал, - это установить UseTokenLifetime = true на обоих концах, а затем использовать свойство IdentityServer Client IdentityTokenLifetime в качестве способа настройки тайм-аута для клиента. Срок действия обоих файлов cookie должен истечь в одно и то же время, указанное в IdentityTokenLifetime. Когда тайм-аут файла cookie клиента будет перенаправлен на IdentityServer для аутентификации, где будет отображаться приглашение для входа в систему, потому что срок действия его собственного cookie тоже истек. Тем не менее, я не думаю, что это позволяет скользящий вариант истечения срока действия?

Другой вариант может состоять в том, чтобы установить для UseTokenLifetime значение false, настроить параметры файлов cookie в промежуточном программном обеспечении для файлов cookie клиента и убедиться, что клиент отправляет запрос prompt = login при аутентификации. Это означает, что даже если IdentityServer имеет настройки файлов cookie, которые не соответствуют клиенту (например, файл cookie IdentityServer остается в силе после истечения срока действия клиента), он все равно всегда будет отображать приглашение для входа в систему. Недостатком этого является то, что это может помешать SSO, если я добавлю больше клиентов, потому что им всегда придется входить в систему для каждого клиента.

Буду признателен за любые мысли по этому поводу

Спасибо

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