2017-10-05 77 views
0

我在這個應用程序中使用Node.JS快遞後端和Angular 4前端。我使用JWT標記來存儲我用來查找用戶的標識。請注意,這些JWT令牌不會過期。智威湯士幣錯誤

情景:

  1. JWT令牌用戶日誌生成和簽名(包含用戶ID)
  2. JWT令牌保存在localStorage的
  3. JWT令牌從接着上使用的找到當前登錄的用戶

這是完美的工作。現在,發生了一些非常奇怪的事情。在生產中,偶爾,JWT令牌似乎會改變值,然後在我的應用程序中拋出錯誤,因爲用戶無法再被找到。我已經運行了所有代碼,應用程序本身沒有任何內容應該改變這個值。

我似乎孤立這個問題,因爲只發生在谷歌瀏覽器,但是,(我想)我可能已經看到它發生在Safari有時。我不知道爲什麼會發生這種情況。當我轉到Angular中的受保護頁面時,它將在繼續之前檢查JWT令牌是否存在。如果沒有,那麼它會去登錄。該標記的價值無處改變。

有沒有人知道我可能做錯了/爲什麼會發生這種情況?

回答

0

您是否在使用middleware函數來實現JWT邏輯?

如果不是,我會建議使用中間件函數,它是在路由邏輯/處理程序函數之前編寫的。我想,這有助於調試問題,也是一個很好的做法。

+0

我寫了一箇中間件功能來實現我的邏輯 - 它沒有給我任何問題。 JWT令牌在到達我的中間件之前似乎已經更改。 – xn139