我在閱讀JWT,有太多的教程和很多方法,這很令人困惑。爲什麼我應該讓JSON Web Token負載不加密?
我有幾個關於JWTs的正確使用問題:
1)我總是看到運送JWTs並從服務器不一致的手段。 For example, here:用於檢索標記的一種傳輸方法(通過POST主體中的JSON編碼對象),另一種用於提交它的方法(通過HTTP標頭)。爲什麼這種不一致?當然,這取決於實施者選擇方法,但至少要保持一致並且只使用標題或僅使用正文,這不是好的做法嗎?
2)JWT負載包含狀態信息,因爲服務器沒有維護它。很明顯,應該將有效負載的大小盡可能小,因爲JWT的大小會被添加到每個請求和響應中。也許只是一個用戶ID和緩存的權限。當客戶端需要任何信息時,它可以通過(通常是JSON編碼的)HTTP主體接收它並將其存儲在本地存儲中,似乎不需要爲同一目的訪問只讀JWT有效負載。那麼,爲什麼要保持JWT有效載荷不加密呢?爲什麼要混合使用兩種方式獲取應用程序數據給客戶端,並同時使用JWT有效內容和正常的響應式數據體?最佳做法不應該保持JWT始終加密嗎?無論如何,它只能在服務器端進行更新。