假設我爲用戶創建一個JWT令牌,並設置有效載荷爲:智威湯遜:我有多少可以信任我的有效載荷
['userID'=>1, 'role'=>'user']
在使用HTTPS和SSL的情況下,它是安全的發送角色或任何其他敏感信息通過負載?發送者有可能操縱有效負載值嗎?
UPDATE:現在我知道JWT令牌是可解碼的。但是因爲它們帶有一個簽名,所以對這些值的任何更新都會使該令牌無效。如果您希望有效負載完全加密,請嘗試使用JWE!
假設我爲用戶創建一個JWT令牌,並設置有效載荷爲:智威湯遜:我有多少可以信任我的有效載荷
['userID'=>1, 'role'=>'user']
在使用HTTPS和SSL的情況下,它是安全的發送角色或任何其他敏感信息通過負載?發送者有可能操縱有效負載值嗎?
UPDATE:現在我知道JWT令牌是可解碼的。但是因爲它們帶有一個簽名,所以對這些值的任何更新都會使該令牌無效。如果您希望有效負載完全加密,請嘗試使用JWE!
JWT令牌由髮卡行進行數字簽名,因此無需修改簽名即可對其進行修改。
HTTPS僅用於防止令牌被盜。
有效負載中的聲明無法用鍵處理,常見示例是admin = false,客戶端和服務器都可以看到該用戶不是管理員。如果用戶試圖操縱令牌(成爲管理員),它將無法正確驗證。這就是爲什麼在閱讀他們的任何聲明之前驗證你的代幣至關重要。
但是,您通常不會將敏感信息(如信用卡號碼)放在其中,因爲索賠沒有加密,但是沒有人應該能夠訪問您的令牌,否則他們將能夠接管您的會話。
有此操作令牌https://jwt.io/
那麼,所有的權利,以消費者爲純文本可見的一齣戲?我的意思是,如果一個令牌編碼爲ugly1.ugly2.ugly3字符串,並且祕密不會泄露給消費者,那麼如何解密有效載荷? – HPM
查看堆棧溢出文檔[JSON Web Tokens介紹](http://stackoverflow.com/documentation/jwt/5213/introduction-to-json-web-tokens/18559/signed-jwt-jws#t = 201608220422564473964)。他們是base64編碼的,你不需要一個密鑰來解碼。 (Google:base64解碼) – Alex