2017-10-08 42 views
0

我對JWT驗證如何工作有點困惑。一旦用戶能夠登錄,我的快遞服務器就會使用令牌進行響應,該令牌在客戶端存儲在本地存儲中。隨着每個請求,我發送該令牌。我的問題是,如何限制用戶查看他/她的特定數據(例如用戶配置文件)?單獨的令牌能夠確定哪個用戶正在請求服務器端的用戶數據,還是需要將該用戶名與令牌一起發送?這是安全的嗎?基於令牌的Node/Express驗證

回答

1

JWT令牌將包含3個部分,其中一個稱爲有效負載,您將在登錄時使用它來存儲用戶的ID。當用戶使用令牌發送請求時,您將解碼它並獲取ID從有效負載,然後查詢到數據庫,您可以獲取用戶的配置文件。

如何限制用戶查看他/她的特定數據(例如,用戶 配置文件)?

如果你從令牌的有效載荷的ID,那麼你可以與用戶希望看到的,如果它們是相同的,則意味着他希望看到他的個人資料的配置文件的ID進行比較。

是令牌單獨能夠決定哪些用戶請求在服務器端的用戶 數據或我將不得不與令牌發送用戶名一起 ?

不需要用戶名,因爲它標識用戶,所以令牌本身就足夠了。

這種產品是否安全?

閱讀此:http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/當然有其他意見,嘗試實施最佳實踐,我認爲你會沒事的。

+0

感謝您的回覆。正是我在找什麼。我以前閱讀過這篇文章,雖然我並不反對,但作者未能提供一個可行的選擇。 – sags