大部分的文章在討論 OpenID Connect 或 OAuth 2.0 的時候,都是以應用程式串接的角度在介紹如何實現程式碼。本次鐵人賽,筆者將會說明如何使用九頭蛇先生--Hydra 來建構支援 OpenID Connect 與 OAuth 2.0 協定的服務。
昨天的最後一步,我們應用程式寫了一段程式碼,產生了身分驗證請求,然後讓瀏覽器轉導去 Hydra。 當瀏覽器到了 Hydra 後,會檢查過去是否有之前成功登入的...
昨天成功地完成了身分驗證,於是 IdP 系統已經知道使用者是誰了--也就是 subject 的值。下一步要來問使用者,是否要同意(Consent)應用程式的授權...
OpenID Connect 最一開始是由應用程式發出身分驗證請求(Authentication Request),接著使用者會在授權伺服器上( Hydra、L...
昨天我們完成了授權流程,並取到了 Access Token 與 ID Token,但到這個階段,我們依然還不知道使用者是誰,今天的目的是要來解析 Token 背...
Access Token 用來存取受保護資源的憑證。通常 Access Token 都是屬於不透明的 Token,Hydra 預設也是這麼設計的。必須要拿 Ac...
今天先補充 ID Token 的驗證實作程式。 驗證核心原則,是參考 RFC 7519 - JSON Web Token (JWT),雖然規範上都有完整說明該如...
Hydra 提供了三種 OAuth 2.0 授權類型,其中 Implicit 在第六天的快速體驗有說明,而 Authorization Code 則是實作程式的...
身分驗證與授權在流程上有互相依賴,但它們是兩件不同的任務,所以 Hydra 切分成 Login Provider 與 Consent Provider 兩個服務...
昨天有提到一個問題,但並沒有特別解釋相關的處理方法,是不同的撤銷情境,該怎麼實作。 Token 撤銷權限的情境主要有三個: 時間到自動撤銷 使用者請求撤銷 非...
今天來實作應用程式啟動登出的流程。 首先先回顧一下時序圖: 從這張圖可以知道,今天主要要實作的是 Logout Provider。另外還有啟動登出的接口和回到...