iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

30 天與九頭蛇先生做好朋友 系列

大部分的文章在討論 OpenID Connect 或 OAuth 2.0 的時候,都是以應用程式串接的角度在介紹如何實現程式碼。本次鐵人賽,筆者將會說明如何使用九頭蛇先生--Hydra 來建構支援 OpenID Connect 與 OAuth 2.0 協定的服務。

參賽天數 22 天 | 共 23 篇文章 | 14 人訂閱 訂閱系列文 RSS系列文
DAY 11

實作 Login Provider

昨天的最後一步,我們應用程式寫了一段程式碼,產生了身分驗證請求,然後讓瀏覽器轉導去 Hydra。 當瀏覽器到了 Hydra 後,會檢查過去是否有之前成功登入的...

2022-09-26 ‧ 由 Miles 分享
DAY 12

實作 Consent Provider

昨天成功地完成了身分驗證,於是 IdP 系統已經知道使用者是誰了--也就是 subject 的值。下一步要來問使用者,是否要同意(Consent)應用程式的授權...

2022-09-27 ‧ 由 Miles 分享
DAY 13

應用程式處理身分驗證回應

OpenID Connect 最一開始是由應用程式發出身分驗證請求(Authentication Request),接著使用者會在授權伺服器上( Hydra、L...

2022-09-28 ‧ 由 Miles 分享
DAY 14

如何驗證 ID Token 的資訊

昨天我們完成了授權流程,並取到了 Access Token 與 ID Token,但到這個階段,我們依然還不知道使用者是誰,今天的目的是要來解析 Token 背...

2022-09-29 ‧ 由 Miles 分享
DAY 15

如何取得 Access Token 的資訊

Access Token 用來存取受保護資源的憑證。通常 Access Token 都是屬於不透明的 Token,Hydra 預設也是這麼設計的。必須要拿 Ac...

2022-09-30 ‧ 由 Miles 分享
DAY 16

ID Token 的驗證實作

今天先補充 ID Token 的驗證實作程式。 驗證核心原則,是參考 RFC 7519 - JSON Web Token (JWT),雖然規範上都有完整說明該如...

2022-10-01 ‧ 由 Miles 分享
DAY 17

實作 Client Credentials 授權

Hydra 提供了三種 OAuth 2.0 授權類型,其中 Implicit 在第六天的快速體驗有說明,而 Authorization Code 則是實作程式的...

2022-10-02 ‧ 由 Miles 分享
DAY 18

實作撤銷授權

身分驗證與授權在流程上有互相依賴,但它們是兩件不同的任務,所以 Hydra 切分成 Login Provider 與 Consent Provider 兩個服務...

2022-10-03 ‧ 由 Miles 分享
DAY 19

由應用程式啟動登出流程

昨天有提到一個問題,但並沒有特別解釋相關的處理方法,是不同的撤銷情境,該怎麼實作。 Token 撤銷權限的情境主要有三個: 時間到自動撤銷 使用者請求撤銷 非...

2022-10-04 ‧ 由 Miles 分享
DAY 20

實作 Logout Provider

今天來實作應用程式啟動登出的流程。 首先先回顧一下時序圖: 從這張圖可以知道,今天主要要實作的是 Logout Provider。另外還有啟動登出的接口和回到...

2022-10-05 ‧ 由 Miles 分享