JSON Web Token入門學習

2021-10-07 23:58:44 字數 982 閱讀 2972

學習記錄:看了這篇帖子,有時間再來整理

阮一峰的網路日誌

實際上的jwt內容類似下圖:

它是乙個很長的字串,中間用點(.)分隔成三個部分。注意,jwt 內部是沒有換行的,這裡只是為了便於展示,將它寫成了幾行。

寫成一行,應該如下:

header.payload.signature

客戶端收到伺服器返回的 jwt,可以儲存在 cookie 裡面,也可以儲存在 localstorage。

此後,客戶端每次與伺服器通訊,都要帶上這個 jwt。你可以把它放在 cookie 裡面自動傳送,但是這樣不能跨域,所以更好的做法是放在 http 請求的頭資訊authorization欄位裡面。

authorization: bearer
另一種做法是,跨域的時候,jwt 就放在 post 請求的資料體裡面。

(1)jwt 預設是不加密,但也是可以加密的。生成原始 token 以後,可以用金鑰再加密一次。

(2)jwt 不加密的情況下,不能將秘密資料寫入 jwt。

(3)jwt 不僅可以用於認證,也可以用於交換資訊。有效使用 jwt,可以降低伺服器查詢資料庫的次數。

(4)jwt 的最大缺點是,由於伺服器不儲存 session 狀態,因此無法在使用過程中廢止某個 token,或者更改 token 的許可權。也就是說,一旦 jwt 簽發了,在到期之前就會始終有效,除非伺服器部署額外的邏輯。

(5)jwt 本身包含了認證資訊,一旦洩露,任何人都可以獲得該令牌的所有許可權。為了減少盜用,jwt 的有效期應該設定得比較短。對於一些比較重要的許可權,使用時應該再次對使用者進行認證。

(6)為了減少盜用,jwt 不應該使用 http 協議明碼傳輸,要使用 https 協議傳輸。

JSON Web Token 入門教程

json web token 縮寫 jwt 是目前最流行的跨域認證解決方案,本文介紹它的原理和用法。網際網路服務離不開使用者認證。一般流程是下面這樣。1 使用者向伺服器傳送使用者名稱和密碼。2 伺服器驗證通過後,在當前對話 session 裡面儲存相關資料,比如使用者角色 登入時間等等。3 伺服器向...

JSON Web Token 入門教程

json web token 縮寫 jwt 是目前最流行的跨域認證解決方案,本文介紹它的原理和用法。網際網路服務離不開使用者認證。一般流程是下面這樣。1 使用者向伺服器傳送使用者名稱和密碼。2 伺服器驗證通過後,在當前對話 session 裡面儲存相關資料,比如使用者角色 登入時間等等。3 伺服器向...

JSON Web Token 入門教程

日期 2018年7月23日 珠峰培訓 json web token 縮寫 jwt 是目前最流行的跨域認證解決方案,本文介紹它的原理和用法。一 跨域認證的問題 網際網路服務離不開使用者認證。一般流程是下面這樣。1 使用者向伺服器傳送使用者名稱和密碼。2 伺服器驗證通過後,在當前對話 session 裡...