2012-02-22 28 views
2

我正在開發使用由WIF保護的ASP.NET MVC + WCF的Web應用程序。我正在使用主動式STS。 我遇到BootstrapToken過期但SessionSecurityToken因滑動到期而仍然有效的情況。我得到異常:WIF BootstrapToken過期

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

  1. 我可以延長bootstraptoken到期時間?
  2. SAM是否有效,它不檢查cookie內的bootstraptoken是否過期。什麼是最好的地方檢查 - 在我滑會話到期的同一事件?

回答

1

SAM在會話cookie中不包含引導令牌。一旦SAM驗證它並建立會話,默認情況下引導令牌實際上被丟棄。所以要回答你的問題:

  1. 只有身份提供商簽署的引導令牌有控制令牌的生命週期。 SAM不能改變這一點。

  2. SAM僅驗證身份驗證期間的引導到期時間。完成此操作並建立會話後,SAM不再需要引導令牌。

0

以下是我的回答post的副本。

如果您使用Microsoft的Active Directory聯合身份驗證服務(AD FS),則可以調整/增加AD FS信賴方令牌的超時時間,這會延長引導令牌的生命週期。

例如,我們遇到了獲取新會話令牌的問題,但在AD FS Web SSO超時之前仍有超時。其中一位開發人員發現,有一個設置可以延長依賴方令牌的生命週期,這與Windows Identity Foundation(WIF)中的引導令牌相關。

的設置如下:

Set-ADFSRelyingPartyTrust -TargetName YourTargetName -TokenLifetime 480 

後,我們設定的依賴方令牌的超時時間是相同的Web SSO令牌超時,那麼它的工作。

注:

Get-ADFSRelyingPartyTrust -Name YourTargetName 

注二:你可以用下面的命令來檢查當前依賴方令牌的超時您可以通過打開AD FS管理工具檢查Web SSO令牌的超時時間,點擊「AD FS 「在左側導航窗格中,然後在右側窗格的」操作「窗格中單擊」編輯聯合身份驗證服務屬性...「。