跳到主要內容

SAML vs OIDC 深度解析:企業 SSO 與現代 Web 身份驗證的技術選型指南

開場引言

在企業身份驗證選型時,SAML 與 OIDC 是最常見的兩個方案。兩者皆支援 Identity Federation,但技術棧截然不同,選錯將導致整合成本大幅上升。

SAML:企業 SSO 的成熟標準

SAML 2.0(Security Assertion Markup Language)以 XML 為核心,透過 IdP(Identity Provider)與 SP(Service Provider)交換簽章的 Assertion 完成身份驗證。其流程以 Browser Redirect / POST Binding 為主,天然適合瀏覽器型企業應用。SAML 廣泛整合於 Okta、Azure AD、ADFS 等企業 IdP,是傳統 ERP、SaaS 平台的首選協議。然而,XML 解析複雜、行動端與 API 支援薄弱,是其主要限制。

OIDC:現代應用的輕量身份層

OpenID Connect(OIDC) 建構於 OAuth 2.0 之上,以 JSON / JWT 傳遞身份資訊(id_token),並透過 Authorization Code Flow 或 PKCE 保護行動端與 SPA。相較 SAML,OIDC 支援 RESTful API、行動裝置與微服務架構,整合成本更低。Google、Auth0、Keycloak 均以 OIDC 為核心。其 /.well-known/openid-configuration 端點提供標準探索機制,大幅簡化客戶端配置。

OIDC Discovery 端點範例

GET https://accounts.google.com/.well-known/openid-configuration

# 回傳 JSON 包含:
# issuer, authorization_endpoint, token_endpoint,
# jwks_uri, userinfo_endpoint, scopes_supported

💡 選型重點整理

  • 企業 SaaS / ERP 整合:優先選 SAML,相容性最佳且主流 IdP 原生支援。
  • 行動 App / SPA / API:選 OIDC + PKCE,JSON 輕量且對 REST 友好。
  • 同時需要兩者:主流 IdP(如 Okta、Azure AD)均可同時提供 SAML 與 OIDC。
  • 新專案優先:OIDC 生態系更活躍,長期維護成本較低。

結語

SAML 穩固可靠,是企業遺留系統的最佳橋梁;OIDC 輕巧現代,是新世代應用的首選。根據目標系統與用戶端類型選型,才能在安全與整合效率間取得最佳平衡。

留言