從昨天之後,我們已經學到以下知識:
今天要解釋的是:如果要在 Spring Boot 中整合 SAML,應用(Service Provider, SP)要準備什麼?與 IdP 怎麼對接?
Spring Security 本身以 OAuth2 / OIDC 支援最完整,但 SAML 也能整合,常見做法有兩種:
在 SAML 世界裡,SP 與 IdP 要「互相交換 Metadata」,才能建立信任關係。
/saml2/authenticate/{registrationId}
)。/dashboard
。Authentication
,存入 SecurityContext。Spring Boot 配合 Spring Security SAML,常見需要配置:
.saml2Login()
取代 .oauth2Login()
issuer-uri
,Spring Security 會自動 Discovery → 取得金鑰與端點 → 幫你處理 Token。假設你的公司要把 Spring Boot 應用接入 Okta:
application.yml
中設定:
.saml2Login()
。/me
→ 被導向 Okta → 登入 → Okta 回傳 Assertion → Spring Security 驗證後登入成功。今天我們了解了 Spring Security 與 SAML 整合的觀念:
看到這裡,相信大家已經更加了解SAML的知識,雖然因為SAML比較複雜,這次30天並沒有實際展示,但我相信大家可以把這個當作是挑戰題,利用剛剛教的知識去實作SAML。
到這裡,所有關於驗證的歷史,驗證的技術演練就到這裡了,在這裡要恭喜大家,已經走過了資安近幾十年來的巨大演變,也實作了一些驗證與加密的技術,真的是非常的厲害!
明天開始,我們就會開始教大家關於授權的觀念。今天就教到這裡,讓我們明天見囉!