iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0

Day 17:無狀態認證的基石—— JWT (JSON Web Token) 簽發與驗證機制實戰

系列: 不要再說你不會後端!30 天 Node.js 降維打擊指南
前情提要: 在 Day 16 中,我們介紹了如何使用 Bcrypt 對密碼進行加鹽雜湊與驗證。當使用者成功登入後,後端必須發放一個「通行證」,讓前端在後續的請求中證明自己的身份。今天我們要介紹現代前後端分離架構最主流的無狀態認證工具——JWT (JSON Web Token)。


1. Session vs JWT:為什麼前後端分離偏好 JWT?

在傳統 Web 開發中,常用的身份驗證機制是 Session + Cookie;而在前後端分離或微服務架構中,JWT 成為了首選:

特性 Session / Cookie 認證 JWT (JSON Web Token) 認證
狀態維護 Stateful(伺服器需儲存 Session 紀錄) Stateless(伺服器不留存狀態,憑證自包含)
擴充性 多台伺服器時需做 Session 共享 (如 Redis) 極佳,任何伺服器只要有金鑰即可驗證
跨網域/移動端 Cookie 受限於同源政策 (CORS/Cross-Site) 通用性高,放在 Request Header (Authorization)

2. JWT 的三大組成結構

JWT 是一個由兩個點號 (.) 連接的字串,由三個部分組成:

[Header 標頭].[Payload 負載].[Signature 簽名]

上一篇
Day 16:給密碼加上一把安全鎖—— Bcrypt 密碼雜湊與加密機制實戰
系列文
不要再說你不會後端!30 天 Node.js 降維打擊指南 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言