[筆記] 六角學院 Node.js 2022 直播班記錄 – 17 JWT 登入註冊功能

近期正參加六角學院的 Node.js 2022 直播班,想說做個紀錄並當作複習之用。這邊筆記下關於 JWT Token 登入註冊功能的細節。
hex-school-logo


課程相關資訊

[連結]:https://www.hexschool.com/courses/nodejs.html

請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。


核心概念

1. JWT 是無狀態的
2. 如果你透過 server 設定了過多的 session,那會對 server 造成負擔
3. 密碼是不會存明碼的,會把它變成無法辨識的 Code
4. 需要新增 JWT_SECRET 當做混淆字串;JWT_EXPIRES_<請自訂> 當做過期時間參數
5. 由於產生 JWT token 和驗證 token 都是很多路由都會使用到的,可以存成共用函式或是 middleware
6. 前後端都需要進行驗證,以阻擋惡意的字串或是意料之外的錯誤
7. 可以透過 jwt.io 的工具,看一下 encode 和 decode 的結果
8. payload 是可以被解密的,所以不要放機密資料如 email, password…等
9. 註冊成功後,多半會進行兩階段登入驗證,或是請它重新登入
10. JWT 的驗證,它是不需要在前台、後台記憶體存放 session  來進行登入驗證
11. 若有需要 isAdmin,邏輯跟 JWT 驗證很像 -> 檢查 req.user 是否有相關的角色代碼
12. 只要一旦發出 JWT,它就無法設定過期。如果真有需要,那就需要額外在 DB 設定


系列文章

  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 9 Mongoose 連線基本操作
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 8 – Promise, async 和 await
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 7 – MongoDB 操作 CRUD 相關指令(下)
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 6 – MongoDB 操作 CRUD 相關指令
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 5 – MongoDB 環境建置
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 4 – 佈署到 Heroku 遠端
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 3 – POSTMAN 和自建 TodoList API Server
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 2 – npm
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 18 multer 上傳到 imgur 功能
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 16 Swagger 初步教學
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 15 全方面的 Error 管理
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 14 Middleware 設計
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 13 Express 框架初探
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 12 連接遠端資料庫和環境變數設置
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 11 Mongoose 實作運用
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 10 Mongoose 額外補充和模組化
  • [筆記] 六角學院 Node.js 2022 直播班記錄 – 1 – Node.js 介紹和 node 模組原理
  • 按讚加入粉絲團

    延伸閱讀