Как увеличить тайм-аут сеанса с помощью токенов W.I.F/SAML/файлов cookie FedAuth
Я думаю, что тайм-аут по умолчанию - это примерно каждые полчаса.
Я хотел бы изменить это на 2 недели. У кого-нибудь есть идеи?
Выполняется ли это обычно со стороны STS или на стороне клиента? Идет ли проверка подлинности форм, или это теперь не имеет значения?
Ответы
Ответ 1
Я просто исправил это сам, persistentCookiesOnPassiveRedirects необходимо включить на RP
В вашем web.config вам нужно:
<microsoft.identityModel>
<federatedAuthentication>
<wsFederation
persistentCookiesOnPassiveRedirects="true" />
<cookieHandler
persistentSessionLifetime="60.0:0:0" />
</federatedAuthentication>
</microsoft.identityModel>
Ответ 2
Таймаут для токена FedAuth может управляться в файле web.config для приложения, поддерживающего требования. Пример с документацией можно найти здесь. Однако имейте в виду, что есть сторона STS на монете и что там может потребоваться увеличить время ожидания, чтобы не допустить повторного входа пользователя при переходе из одного приложения в другое после длительного периода.
Ответ 3
Если файл cookie синхронизирован, вы также можете посмотреть, как использовать слайд-сессии в вашем приложении WIF.
Это означает, что файл cookie будет продолжать восстанавливаться, пока пользователь "использует" приложение.
http://www.cloudidentity.com/blog/2013/05/08/sliding-sessions-for-wif-4-5/
Ответ 4
Описание о persistentSessionLifetime в MSDN неверно. Например, если вы установите значение 1.6: 13: 45.0, файл cookie истечет через 30 часов (1 день + 6 часов) 13 минут и 45 секунд +/- максимумClockSkew из <identityConfiguration> . Таким образом, описание из MSDN должно быть таким же, как у TimeSpan: [-] d.hh: mm: ss.ff. Я надеюсь, что Microsoft изменит неправильное описание.