Day09 — Gem-jwt 介紹與應用

前言

JWT 是 JSON Web Token 的縮寫。在寫此篇時,發現已經有許多相關文章可參考,故本篇以實作為主,若想知道更深入部分,可直接看參考資料

JWT組成

HeaderPayloadSignature 所組成的字串,中間以 . 做間隔

組成說明Header通常由演算法簽章、 Token 類型所組成的 JSON,再做 Base64 URL 編碼Payload需傳遞的資料放這SignatureHeader、Payload、密鑰 (secret) 透過雜湊演算法所產生

最終資料呈現如下方圖左,是一個字串

動手做看看

官方 JWT 首頁已有範例,這邊以 Ruby 做演練

使用 RubyGems

上述為手動實作,透過實作能更清楚如何運作
也可直接使用 jwt gem 來處理,一切變得簡單多了,有興趣可看下 source code 部分

小結

JWT 的特色有「JSON 通用性的關係,可跨語言使用」、「構造簡單,size 小,便於傳輸」…等

在使用 JWT 時,不建議把敏感資料放裡面,只要解碼 Base64 便能看到原本的資料

推薦下面參考資料可以都看過一輪

參考資料

  1. https://jwt.io/
  2. JSON Web Token Wiki
  3. ruuby-jwt
  4. 是誰在敲打我窗?什麼是 JWT ?
  5. 見令如見人,介紹 JWT
  6. [筆記] 透過 JWT 實作驗證機制
  7. JSON Web Token 入门教程
  8. JSON Web Token(JWT) 簡單介紹

鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10264580
medium 文章連結:https://link.medium.com/OYkJftn2Mjb
本文同步發布於 小菜的 Blog https://riverye.com/

備註:之後文章修改更新,以個人部落格為主

大家好,我是被端走的小菜。以個人部落格更新為主:https://riverye.com/

大家好,我是被端走的小菜。以個人部落格更新為主:https://riverye.com/