Как увеличить тайм-аут сеанса с помощью токенов 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 изменит неправильное описание.