Contents

產生 JWT Token 方法

平常我們前後端開發會使用 JWT Token,JWT Token 有讀過相關文章就知道它裡面會存一些資訊,相關驗證都會在 JWT 上面,Server 讀取上面資料就知道是哪一個使用者,不需要在做資料庫查詢。這時候你會覺得這樣安全嗎?但其實它背後原理有做簽章,當你串改資料,JWT 驗證是不會過的,相對機密資料就不建議存在上面。

JWT 介紹

網路上一堆好文,這邊就不整理了。

JWT 的組成

  1. header
  2. payload
  3. signature/encryption data
    ……
    Registered Claims 包含:
    sub:subject 的簡稱,用字串(case-sensitive) 或 URI 表示這個 JWT 所夾帶的唯一識別訊息。
    exp:expiration(time) 的簡稱,一個用來表示特定日期和時間的數字,格式為 POSIX 定義的 自紀元以來的秒數,即 UNIX時間。此聲明設置了該 JWT 被視為無效的確切時間。一些實踐可能允許時間存在一定的偏差(考慮此 JWT 在到期日期後的幾分鐘內有效)。

這邊簡單擷取幾個重點,sub這邊取到資料是唯一值的,可以把這個存在資料庫。exp是過期時間,通常驗證不過可能也需要注意這個。

產生 JWT Token

最後還是發現JSON Web Tokens - jwt.io這個網站最好用,這個網站是用靜態網站去產生,所以是非常方便。
https://i.imgur.com/RZPdq5w.png

可以貼上 private key 調整 payload 資料作調整。
https://i.imgur.com/QU5oMek.gif

其他網站:
Online JWT Builder - Jamie Kurtz
Online JWT Generator