登入、第三方登入、API 授權與權限控管,是軟體開發中經常會遇到的功能,而這些看似獨立的需求,背後其實都牽涉到身分、帳號、驗證、授權、Token 與存取控制等一整套設計問題。
本系列將從開發者熟悉的登入流程出發,用 30 天拆解現代身分驗證與授權架構。內容會先釐清身分、帳號、驗證與授權之間的差異,再一路延伸到 Session、Token、SSO、OAuth 2.0、OIDC、企業身分服務與各種存取控制模型。
前言 上一篇把 PKCE 這個 Authorization Code Grant 的標準配備講完了,但到目前為止,這系列談的都還是 OAuth 2.0 的「授權...
前言 上一篇的 OIDC 幫 OAuth 2.0 補上了「身份驗證」,但那整個故事的前提,都是背後有一個真人使用者在瀏覽器上輸入帳密、按下同意。這篇要回到「授權...
前言 上一篇 Day 12 談的是 Client Credentials Grant——完全不需要使用者參與的機器對機器(M2M)情境。今天要回到「有使用者」的...
前言 上一篇看的是 Device Authorization Grant——沒有瀏覽器、但還是需要「使用者」在另一台裝置上參與同意的情境。今天要看的 JWT B...
前言 Day05 與本文使用的都是 SAML Assertion(SAML 驗證聲明,也就是由 IdP 簽發的身份證明),但用途並不相同。 在 SSO 流程中,...
前言 上一篇介紹的 SAML 2.0 Bearer,是將既有的 SAML Assertion 送到 Token 端點交換 Access Token。今天要看的...
前言 今天要看的 Implicit Grant,是 OAuth 2.0 核心規格(RFC 6749)裡四種基本 Grant Type 之一,也是目前官方明確建議...
前言 上一篇介紹的 Implicit Grant,會讓 Access Token 直接經過瀏覽器前端;今天要看的 **Resource Owner Passwo...
前言 昨天介紹了 ROPC,說明為什麼 Client 不應直接取得使用者密碼。今天要看的 Passkey,則讓使用者不必輸入密碼,也能完成登入。 Day02 曾...
前言 昨天已經用簡單的方式介紹過 FIDO2、WebAuthn 與 CTAP 的基本分工。今天不再重複「三者分別是什麼」,而是往下一層拆解它們實際如何合作。 本...