我正在使用由WIF保护的ASP.NET MVC + WCF开发Web应用程序。我正在使用活动的STS。 我遇到BootstrapToken过期但SessionSecurityToken由于滑动过期而仍然有效的情况。我有例外:

ID3242: The security token could not be authenticated or authorized.

  1. 我可以延长bootstraptoken的有效时间吗?
  2. 它是SAM的有效行为,它不检查cookie内的bootstraptoken是否过期。在检查会话过期的同一事件中,最好的检查方法是什么?
有帮助吗?

解决方案

SAM在会话cookie中不包含引导令牌。SAM验证并建立会话后,默认情况下实际上会丢弃引导令牌。因此,回答您的问题:

  1. 只有签署了引导令牌的身份提供者才可以控制令牌的生存期。SAM无法更改。

  2. SAM仅在身份验证期间验证引导程序到期时间。完成此操作并建立会话后,SAM不再需要引导令牌。

其他提示

下面是我从此帖子获得的答案的副本。

如果您使用的是Microsoft的Active Directory联合身份验证服务(AD FS),则可以调整/增加AD FS依赖方令牌的超时时间,从而延长引导令牌的寿命。

例如,我们遇到一个问题,即正在获取新的会话令牌,但在AD FS Web SSO超时之前仍然存在超时。一位开发人员发现,存在一种设置来延长依赖方令牌的生存期,该设置与Windows Identity Foundation(WIF)中的引导令牌相关。

设置如下: 通用标签

在将依赖方令牌的超时设置为与Web SSO令牌超时相同之后,它便起作用了。

注意:您可以使用以下命令检查当前依赖方令牌的超时: 通用标签

注释II:您可以通过打开AD FS管理工具,单击左侧导航窗格中的“ AD FS”,然后单击“操作”窗格中的“编辑联合身份验证服务属性...”来检查Web SSO令牌的超时。右窗格。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top