通过会话身份验证模块生存期设置的 WIF 会话令牌



请帮助我理解会话令牌到期时间的概念。

以下是我从 STS 收到令牌后设置会话令牌的方式。

var   principal = validationfunction();//returns claimsprincipal
            if (principal != null)
            {
                var token = new SessionSecurityToken(principal.ClaimsPrincipal)
                {
                    IsReferenceMode = false
                };
                //this makes sure that the identity and claims are written to the cookie.
                FederatedAuthentication.WSFederationAuthenticationModule.SetPrincipalAndWriteSessionToken(token, true);
            }

请确认这是否属实:

  1. 如果令牌生存期为 10 分钟。 如果用户处于非活动状态 10 分钟并且未向网站,会话令牌过期,并将其重定向到 STS 登录页面。

  2. 如果用户处于活动状态并不断刷新页面/访问会话令牌生存期获得
    的不同页面刷新。这意味着每次用户访问页面时,令牌都会获得新的到期值。因此,用户不会每 10 分钟被重定向到登录页面。

  3. 如果用户请求受 STS 保护的资源 (Web API(,则令牌的生存期被视为绝对值。这意味着无论用户是否处于活动状态,在生成令牌 10 分钟后,如果用户请求 Web api,令牌将无效并重定向到 STS 登录页面。

上述概念是否正确?

  1. 您需要自行设置令牌生存期。默认值为 IIRC - 10h。当令牌过期并且您正在访问受保护的资源时,应用程序将发出 401。如果您有 WsFed modue - 这将导致往返 STS

  2. 默认情况下,会话安全令牌是绝对过期的

  3. 您不会使用 Cookie 来保护 Web API - 重定向对 API 没有意义(cookie 身份验证也没有意义(。

相关内容

  • 没有找到相关文章

最新更新