2014-12-27 55 views

回答

6

很多網絡相關的信息可以在這裏找到類似的帖子:Token Authentication vs. Cookies;我想請出一些「建築」的區別:

  1. JWTs是標準化容器格式編碼以安全的方式的用戶和客戶端的相關信息,使用「索賠」(而cookie內容和簽名/加密的不標準化)
  2. 智威湯遜不限於目前類似會話的用戶本身的信息;他們也可以用來委託代表用戶的客戶端的訪問
  3. JWT允許比Cookie更細化的訪問模型,因爲JWT可以在「範圍」(它們允許客戶端執行的操作)中進行限制隨着時間的推移
+0

怎麼樣從新標籤的GET請求?如果您在通過瀏覽器訪問的Web應用程序上使用JWT,假設用戶可能想要打開不同的選項卡(也許手動輸入所需的URL)是安全的。在這種情況下,在發出請求之前(例如將其注入標頭),您無法讀取存儲的JWT。 Cookies沒有這個問題,因爲它們是由瀏覽器本地發送的新請求,即使是在新標籤頁上。我對這個問題提出了一個問題: http://stackoverflow.com/questions/30061307/jwt-how-to-handle-get-requests-when-user-opens-a-new-tab – noderman

+0

這個前提是在訪問URL時不顯示正確的JWT,瀏覽器將被重定向到特定的端點(授權服務器),從而可以獲取JWT –

+0

[新JWT的生成是否使原始選項卡上存在的JWT失效?如果是這樣,你不能這樣做,而不會中斷原始選項卡的操作]因此,循環似乎是:你已經通過身份驗證,新選項卡導致重定向,我想你的應用程序有一個本地JS代碼只是爲了得到你的$ window.localStorage.token(sessionStorage不能在標籤之間工作) - 這是必須的:你想避免用戶的新登錄,並可能避免JWT的破壞 - 然後通過JWT注入重定向到所需的資源。 – noderman