2015-05-09 52 views
1

我正在使用MEAN堆棧,並且想要確保某些路由具有經過身份驗證的用戶。我一直在閱讀JSON網絡令牌。這似乎是合理的。沒有護照的Node.js身份驗證:是json web令牌可靠嗎?

在我投入更多時間之前,我想問問是否有其他人使用它,以及是否有任何他們迄今爲止注意到的主要缺陷。除護照外還有其他流行的替代品嗎?

回答

2

JSON網絡令牌有幾個問題,當與適當的處理,可以使執行授權非常有用的方法:

  • 客戶端仍然需要發送用戶憑據到認證服務器,這就意味着使用安全如果敏感信息被放置到令牌傳輸是至關重要的
  • ,這些信息應該由客戶端進行加密,並通過安全傳輸
  • 發送根據您如何構建令牌和誰是你與共享它,令牌應該有一個有限的一生,防止其他ERS從解構令牌因爲它的產生和潛在的僞造的數據發送到服務器

肯定有其他方法基於Cookie比passport其他身份驗證,但我不知道有任何的以及集成和推廣,不過我相信你可能會發現更有效率的東西。還有其他一些基於cookie的方案,您可以實施,例如SO的auto-login scheme

如果您想投入時間學習如何實施智威湯遜,那一定是值得的。如果您試圖評估您是否需要使用智威湯遜,那麼一個好的經驗法則是問自己您是否擁有多臺認證服務器,您是否需要授權跨多個不同域的客戶,以及您是否需要客戶擁有無狀態/臨時授權令牌。

+0

謝謝。我正在閱讀你提供的鏈接,並且讓我質疑所有事情的部分在這裏:「StackAuth檢查localStorage進行會話,如果是,則將它發送給自己。」惡意個人是否也可以複製此本地存儲會話,並在其自己的客戶端瀏覽器中使用它以使用原始用戶憑據登錄其他網站? – zafrani

+1

是的,但這也可能發生在存儲在安全cookie中的數據中。如果有人可以注入他們的自定義JS代碼並將其分發給其他客戶端,那麼他們將具有與應用程序代碼相同的訪問級別,可能允許他們泄漏其他安全數據或代表用戶執行操作。 –

+0

我明白了。我能做些什麼來消除此類行爲並識別假冒嗎?是否有任何其他形式的身份驗證不附帶此漏洞? – zafrani