2011-08-28 12 views
3

我正在努力弄清楚爲什麼只有7個索賠的ClaimsPrincipal正在從FAM生成5個FedAuth Cookie(FedAuth1,FedAuth2,FedAuth3,FedAuth4)。只有7個索賠的大型FedAuth Cookie(FedAuth4)

由於Safari正在截斷我的Cookie並且我的mac用戶無法登錄,所以這會導致問題。

任何想法,爲什麼我可能會遇到這種情況,或者我可以找出解決辦法?

UPDATE:由於歐亨尼奧設置SaveBootstrapTokens指出=假縮水5回2餅乾,現在Safari用戶可以登錄

回答

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

+0

在我看來,索賠是小 - 我覺得有什麼錯在這裏是我的全套在我的RP的身份索賠: –

+0

我正在運行我自己的STS基於ThinkTechture.IdentityServer在https://accounts.climbfind.com/ - 我的RP是http://cf4.climbfind.com/ –

+0

有一個方式爲我鉤入wif並且設置nameidentifier要求給我的用戶id,那樣我可以放棄我的習慣userid要求(把它降低到6索賠) –