我有一個Web應用程序,用戶使用後端Spring MVC服務器登錄。我使用JWT實現它,它的工作原理如下:(如何在驗證JWT時處理每個用戶的簽名密鑰?
- 用戶在登錄表單中插入用戶名和密碼。
- 我使用SHA256散列密碼,並調用登錄端點在我的MVC發送用戶名和SHA256(密碼)。
- 端點檢查用戶是否在場且密碼是否正確(密碼保存爲sha256(密碼)),如果是,則生成一小時過期的JWT,並在其有效負載中設置字段用戶名。我用於JWT的密鑰是用戶相關密鑰,它是在創建用戶時隨機生成的鹽,並保存在數據庫中。最後,我送JWT到瀏覽器
- 瀏覽器會保存在智威湯遜在
localstorage
- 每次調用後端要求的數據,我應該從現在開始
使用JWT我的問題是關於如何通過僅使用JWT讓服務器知道誰在調用端點?
是否有可能在沒有簽名密鑰的有效載荷中獲得用戶名字段?我需要知道哪個用戶觸發它的原因是因爲我必須檢索正確的密鑰來驗證依賴於用戶的JWT。
我的想法是發送爲每個請求的智威湯遜和用戶名。這是做正確的方式還是不需要,我錯過了這個JWT的東西?