登入、第三方登入、API 授權與權限控管,是軟體開發中經常會遇到的功能,而這些看似獨立的需求,背後其實都牽涉到身分、帳號、驗證、授權、Token 與存取控制等一整套設計問題。
本系列將從開發者熟悉的登入流程出發,用 30 天拆解現代身分驗證與授權架構。內容會先釐清身分、帳號、驗證與授權之間的差異,再一路延伸到 Session、Token、SSO、OAuth 2.0、OIDC、企業身分服務與各種存取控制模型。
前言 當我開始學這些現代身份驗證架構時,才發現裡面藏著一堆看不懂的名詞:OAuth、OpenID Connect、Authorization Server、Id...
前言 上一篇最後提到,單靠密碼有很多風險:密碼可能被外洩、被撞庫、被釣魚,或因為使用者重複使用弱密碼而被猜中。 所以今天先回答第一個問題:如果密碼不夠安全,系統...
前言 上一篇我們先把 MFA、OTP、TOTP 與 WebAuthn / Passkey 講完,重點放在「使用者要怎麼證明自己是本人」。 但登入驗證成功之後,系...
前言 上一篇我們把「傳統 HTTP 驗證方式」這個陣營講完了:Basic Auth、Digest Auth、API Key、Session-based 登入。它...
前言 過去三天,我們一直在討論「單一系統」要怎麼驗證使用者身份、怎麼維持登入狀態——從最基礎的 Basic Auth、Digest Auth、API Key、S...
前言 上一篇結尾提到,SAML、OIDC 這類協定負責把「使用者已經通過身分驗證」這件事傳遞給 SP;但在很多企業環境中,背後真正保存帳號、群組、部門等身分資料...
前言 上一篇結尾提到,LDAP 與 Kerberos 撐起了企業內部「身份資料存哪裡、怎麼查」跟「怎麼證明我是這個人」兩個問題,但這兩套協定都是企業內部網路的產...
前言 上一篇的最後提到 OAuth 2.0 其實是一個「授權框架」,而不是「驗證方法」。這句話聽起來像文字遊戲,但搞懂它,才能理解接下來要拆解的各種 Grant...
前言 上一篇建立了 OAuth 2.0 的四個角色與抽象協定流程,也提到 Authorization Grant 不等於 Access Token。嚴格來說,現...
前言 上一篇把 Authorization Code Grant 的完整流程走了一遍,也提到 SPA、行動 App 這類 Public Client 無法安全保...