iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Modern Web

不只是登入畫面!一起打造現代化登入系統 系列

現在每個網站幾乎都需要登入系統,但你對登入的運作了解多少呢?
在這 30 天,我們將一起使用 React 與 TypeScript 從零打造完整的登入系統,逐步學會表單驗證、狀態管理、社群登入與 Token 流程。
如果你也想挑戰自己,跟我一起踏上這段 30 天的學習旅程吧!

參賽天數 22 天 | 共 22 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文 團隊夢幻公牛
DAY 11

屋況驗收[ 2 / 2 ]:Vitest 覆蓋率 & 整合測試

在上一篇,我們已經完成了 Vitest 的初始化,並撰寫了第一個單元測試。但光有測試檔還不夠,我們也要透過覆蓋率來檢視測試是否完整,避免有些功能被遺漏沒檢查到。...

2025-09-25 ‧ 由 阿杰 分享
DAY 12

屋內安全[ 1 / 6 ]:Firebase Rules

在前幾篇,我們已經有了「 房門與門鎖 」的表單驗證,也做好「 屋況驗收 」。但如果門鎖只是裝飾,任何人都能翻窗進來,那這棟房子還是非常危險。這時候,就需要 Fi...

2025-09-26 ‧ 由 阿杰 分享
DAY 13

屋內安全[ 2 / 6 ]: JWT 基礎篇:什麼是 JSON Web Token?

JWT 是什麼?JWT(JSON Web Token)是一種 基於 JSON 的安全傳遞憑證,常用於: 使用者登入後的身份驗證 API 存取授權 在分散式...

2025-09-27 ‧ 由 阿杰 分享
DAY 14

屋內安全[ 3 / 6 ]:Firebase Token 機制:ID Token、Refresh、自動更新與權限驗證

我們在專案中已經導入 Firebase Auth,但很多人做到一半會突然冒出幾個問號: Firebase 有 JWT 嗎? Access Token、ID T...

2025-09-28 ‧ 由 阿杰 分享
DAY 15

屋內安全[ 4 / 6 ]:JWT 驗證與最小後端實作

在做前端登入系統時,你可能會想:「我不是已經用 Firebase Login 登入了嗎?為什麼還要搞一個後端驗證?」別急,這篇文章用最輕鬆的方式帶你理解,還會附...

2025-09-29 ‧ 由 阿杰 分享
DAY 16

屋內安全[ 4 / 6 ]:React 串接驗證流程實作

後端準備好了(不論你用的是 Express + Firebase Admin,還是用 MSW 模擬),接下來的重點就是: 前端要怎麼把 Firebase 拿到...

2025-09-30 ‧ 由 阿杰 分享
DAY 17

屋內安全[ 6 / 7 ]:AuthContext + Protected Route 實作

把 Token 丟去 /auth/verify 只是「確認他是不是合法使用者」,但接下來還有兩件事要處理: 把驗證結果存起來(避免每次重新整理都重發 API)...

2025-10-01 ‧ 由 阿杰 分享
DAY 18

屋內安全[ 7 / 7 ]:Token 要放哪裡?LocalStorage、Cookie、Memory 的優缺點與實作方式

當我們拿到 Firebase 的 idToken 後,下一個問題就是 ——「要放哪裡?」前端有三個常見選擇: 儲存方式 優點 缺點 適用情境 Lo...

2025-10-02 ‧ 由 阿杰 分享
DAY 19

屋內安全[ 8 / 8 ]:正式環境 Token 儲存:用 HttpOnly Cookie 才是真防禦力

在正式環境,我們不再用 localStorage,改由後端回傳 Cookie Token 由 瀏覽器自動附帶,JS 完全碰不到,安全性提升一個等級。 Co...

2025-10-03 ‧ 由 阿杰 分享
DAY 20

屋內安全[ 9 / 9 ]:權限配置與 Redux 管理登入狀態|角色控制 / 動態功能鎖定

在前面幾節,我們已經完成: Token 驗證(Express / Firebase Functions / MSW) Token 儲存(LocalStorag...

2025-10-04 ‧ 由 阿杰 分享