iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Security

「站住 口令 誰」關於資安權限與授權的觀念教學,以Spring boot Security框架實作 系列

說明這 30 天系列會帶讀者從 最簡單的帳密登入,一路學到 OAuth / OIDC / SAML / RBAC / ABAC。同時介紹為什麼選 Spring Security 作為教學框架,並設定最終目標:做出一個具備完整認證 + 授權的範例專案。

參賽天數 23 天 | 共 23 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 使用 jjwt 或 java-jwt 套件生成與驗證 JWT

內文 在前一天,我們已經手刻了一個簡單的 JWT 工具類別,從 Header / Payload / Signature 的組裝到 HMAC-SHA256 簽名...

2025-09-20 ‧ 由 ansath 分享
DAY 12

Day 12 JWT 整合 Spring Security

今天是一個非常重要的日子,就是讓JWT正是組裝到我們的Spring Security框架中。雖然套件都已經做好,要使用也非常簡單,但整個原理我們已經融會貫通,相...

2025-09-21 ‧ 由 ansath 分享
DAY 13

Day 13 JWT 過期與 Refresh Token 機制

為什麼需要 Refresh Token? Access Token 建議設定很短(例如 2–10 分鐘),降低外洩風險。 使用者不可能一直重新登入,所以我們...

2025-09-22 ‧ 由 ansath 分享
DAY 14

Day 14 JWT 黑名單與強制登出

為什麼需要黑名單? JWT 的特性是「簽發後就是自給自足」——只要驗證簽章與過期時間,伺服器就信任它。 問題來了:如果我想強制某個使用者立即登出,要怎麼辦? 常...

2025-09-23 ‧ 由 ansath 分享
DAY 15

Day 15 JWT 安全性考量

截至目前為止,關於JWT的教學我們已經完成了: Day 12:用 JWT 做 Access Token 與 Spring Security 整合 Day...

2025-09-24 ‧ 由 ansath 分享
DAY 16

Day 16 OAuth 2.0 基礎概念

今天,我們要來介紹OAuth2.0,在開場的時候,我們一定要先讓大家了解為什麼要用OAuth,以及相關的內容與知識。 為什麼需要 OAuth?(解決「代辦事、別...

2025-09-25 ‧ 由 ansath 分享
DAY 17

Day 17 (觀念篇)— OAuth 2.0:解決什麼問題?角色、名詞與大地圖

接下來,我們要再深入了解OAuth,我相信大家都會有以下的問題:為什麼需要 OAuth?它解決什麼問題?誰參與其中?今天我們先搭建全局觀念的「地圖」,接下來幾天...

2025-09-26 ‧ 由 ansath 分享
DAY 18

Day 18 (流程篇)— Authorization Code Flow(含 PKCE):逐步解剖與威脅模型

OAuth是現在比較主流的授權方法,是從過去的技術逐漸演化出來的,因為是逐漸演變,裡面蘊含的技術與知識同樣也會變得非常多,非常複雜,所以我們可以一步一步的來理解...

2025-09-27 ‧ 由 ansath 分享
DAY 19

Day 19 (身分篇)— OpenID Connect(OIDC)概念:用 ID Token 說清「你是誰」

OAuth 只負責「授權」:讓應用程式存取你的資料。但如果我們想用「Google 登入」、「Facebook 登入」,需要的是「身分」而不是「資源存取」。這就是...

2025-09-28 ‧ 由 ansath 分享
DAY 20

Day 20 OIDC with Spring Boot(Google 登入)

今天我們要來實際演練如何設計OIDC登入,實際的程式碼可以參考以下的github Github repository : spring-security-30d...

2025-09-29 ‧ 由 ansath 分享