使用ADFS auth登录的用户将在30分钟的空闲时间后重定向到ADFS服务器

时间:2017-05-15 22:52:10

标签: c# asp.net-mvc asp.net-mvc-4 asp.net-web-api adfs

Web应用程序正在使用ADFS进行身份验证。在成功登录应用程序后,我将应用程序保持空闲状态大约30分钟。现在,当用户尝试转到页面时,应用程序将重定向到ADFS门户并进行身份验证。我已经将persistenSessionLifeTime设置了60天。我可以在chrome开发人员工具中正确看到FedAuth令牌的到期时间。请在下面找到配置。为什么每30分钟一次?我知道ADFS发布的一些令牌已经过期了。你能帮我解决一下吗?

    <system.identityModel>
    <identityConfiguration saveBootstrapContext="true">
      <claimsAuthenticationManager type="TruckDataWebAPI.Controllers.AuthenticationManager,TruckDataWebAPI" />
      <audienceUris>
        <add value="xxxxxxxxxxxxxxxx" />
      </audienceUris>
      <issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <trustedIssuers>
          <add thumbprint="xxxxxxxxxxxxxxxxx" name="xxxxxxxxxxxxxxxxxxx" />
          <add thumbprint="xxxxxxxxxxxxxxxxxx" name="xxxxxxxxxxxxxxxxxxxxx"/>
        </trustedIssuers>
      </issuerNameRegistry>
    </identityConfiguration>
  </system.identityModel>
  <system.identityModel.services>
    <federationConfiguration>
      <wsFederation  passiveRedirectEnabled="false" issuer="xxxxxxxxxxxxxxxxx" persistentCookiesOnPassiveRedirects="true" realm="xxxxxxxxxxxxxxxx" reply="xxxxxxxxxxxxxxx" requireHttps="true"  />
      <cookieHandler  mode="Default" requireSsl="true" persistentSessionLifetime="60.0:0:0" />
    </federationConfiguration>
  </system.identityModel.services>

1 个答案:

答案 0 :(得分:0)

有两个令牌; ADFS和RP(应用程序)之一。

你需要设置两者。

此外,请确保ADFS值较小,以便在RP令牌超时时,ADFS也将要求用户再次进行身份验证。

好概述here