大型FedAuth Cookie(FedAuth4)仅有7项索赔

时间:2011-08-28 07:53:44

标签: federated-identity wif

我正在努力弄清楚为什么只有7个声明的ClaimsPrincipal会从FAM产生5个FedAuth Cookie(FedAuth1,FedAuth2,FedAuth3,FedAuth4)。

这会导致问题,因为Safari正在截断我的cookie并且我的mac用户无法登录。

任何想法,为什么我可能会遇到这个问题,或者我可以找到解决方法?

更新:正如Eugenio指出的那样设置SaveBootstrapTokens = false将cookie从5回缩到2,现在safari用户可以登录。

2 个答案:

答案 0 :(得分:5)

这些声明包含哪些内容?声明的数量会影响令牌的大小,但它们的信息也会受到影响。 FedAuthx cookie本质上是整个令牌(更具体地说是 SessionToken ),加密和分块。

作为替代方案,您可以考虑使用WIF“会话模式”,它将令牌存储在服务器端。权衡是必须管理服务器端状态及其后果(例如,跨Web场的状态等)

<强>更新 您可以使用其他配置控制每个cookie的大小。最小尺寸为1000,但您无法控制Cookie的总数。

<cookieHandler requireSsl="false" mode="Chunked">
  <chunkedCookieHandler chunkSize="1000"/>
</cookieHandler>

本文中提到的解决方法似乎与WIF开箱即用的“会话模式”类似。我建议使用这种方法而不是自定义方法。维托里奥的文章很好地解释了这一点:http://blogs.msdn.com/b/vbertocci/archive/2010/05/26/your-fedauth-cookies-on-a-diet-issessionmode-true.aspx

答案 1 :(得分:2)

Cookie限制是WIFI和Safari的已知问题。看看官方错误报告和解决方法,这有助于限制令牌的大小:

http://connect.microsoft.com/site642/feedback/details/573602/w-i-f-session-cookies-are-truncated-when-combined-size-4000-bytes-in-safari-and-opera