2014-05-23 61 views
4

我想使Asp.net-Identity中的不記名令牌失效。我試圖調用UpdateSecurityStampAsync(userId),我可以認爲我的用戶的安全印記更新了。但舊的代幣仍然有效。這隻會使Cookie身份驗證失效嗎?在Asp.net-Identity中使OAuth令牌失效

是否有可能以另一種方式解決它?

+0

我有同樣的問題,還沒有找到一個好的/實用的解決方案。一種方法是對不記名令牌本身使用較短的使用期限,並使用刷新令牌增加其使用期限。 –

+0

你能否記錄你如何延長壽命?也許這對Rikard來說是一個很好的回答。謝謝 –

+0

我知道如何增加/減少令牌的生命週期。 Thanx – Rikard

回答

-3

開箱即可以使令牌無效,因爲它們是由服務器的機器鍵生成的。

5

你可以通過在令牌中包含SecurityStamp(或它的一些散列)來做到這一點。然後,您可以創建自己的OnReceive處理程序,並根據數據庫驗證該用戶的SecurityStamp。

這樣做的缺點是你有一個數據庫命中每個請求,所以它首先消除了持有人令牌的一個關鍵好處。

實際上,您會將不記名令牌和刷新令牌的責任組合爲一個令牌。

使用刷新標記代替提交次數要少得多,性能要高得多,它不會真正需要更多編碼,它是一個相當廣泛認可的安全流模型。