我試圖讓我的頭繞過ASP.NET Web API 2中基於聲明的身份驗證。在我的應用程序中,我使用VS 2013模板實現OAuth 2.0並使用持票人令牌智威湯遜,我記得)。我的問題是 - 在客戶端持續使用令牌的最佳方式是什麼?在他的書中,Badrinarayanan Lakshmiraghavan將持票人的記號描述爲:如何在客戶端持久化不記名令牌
不記名令牌就像現金:發現者,守護者。
因此,將它保存到cookie是否安全?這是不是意味着誰會竊取cookie會得到完整的應用程序訪問權限?另一方面,我可以在將它保存到cookie之前使用散列加密該令牌。它會足夠安全嗎?還有其他的選擇嗎?我已經看到幾個問題在stackoverflow上提出類似的問題,但從來沒有找到滿意的答案。
「基本上,你應該給的令牌用戶通過安全連接(HTTPS),但他們應該手動提交以確保安全(再次通過HTTPS)'。仍然沒有完全回答這個問題。這是否意味着只要我使用HTTPS就可以使用cookie? – Bartosz
不可以。通過XSS攻擊可以輕鬆竊取Cookie。 Cookies也會自動提交任何網頁請求,因此它們易受跨網站請求僞造。查看(https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29)瞭解更多信息。 – akirilov
Web API 2中的承載令牌的默認時間跨度爲14天。那麼你如何在客戶端保存這個令牌呢? – Bartosz