ADFS TokenLifeTime最大值?

本·提德曼

我正在使用ADFS 2.0对我的mvc 3.0 Web应用程序进行身份验证。我将依赖方的TokenLifeTime设置为1440(24小时),但是登录后逐步浏览代码时,可以看到会话令牌的ValidTo日期距离现在只有600分钟(10小时)。如果我将TokenLifeTime更改为小于600,则日期时间将与我登录时的预期时间相符。即,如果将TokenLifeTime设置为5,则会话令牌上的ValidTo日期距离我登录后的5分钟。

我没有找到关于此值的最大值的任何参考,但是我也无法解释为什么我无法将会话令牌上的ValidTo时间增加到超过600分钟。

所以...

TokenLifeTime的最大值是600吗?

还有其他影响ADFS发出的会话令牌上的ValidTo时间的因素吗?

詹姆士

我一直在研究这个问题,我想我已经提出了一个可行的解决方案-我还没有因为愤怒而使用它,所以我不能确定它没有任何问题!

本质上,它在创建令牌之后但在任何东西开始使用它之前都将其拦截然后将其替换为令牌,该令牌包含原始文件的所有基础细节,但validTo日期要长得多,具体取决于的值validForDays

void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
{
    var currentToken = e.SessionToken;
    var validForDays = 1;

    e.SessionToken = new SessionSecurityToken(
        currentToken.ClaimsPrincipal,
        currentToken.Context,
        currentToken.EndpointId,
        DateTime.UtcNow,
        DateTime.UtcNow.AddDays(validForDays));

    e.SessionToken.IsPersistent = true;
}

这位于Global.asax.cs中

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章