OAuth 2.0 从入门到实战:利用验证和授权守护 API 的安
OAuth 2.0 從入門到實戰:利用驗證和授權守護 API 的安全作者: 周建毅(Miles)
出版社:博碩
出版日期:2022/12/16
內容簡介
帶你一次了解 OAuth 2.0 與 OpenID Connect 的完整流程!
Web 平台已是現今網路生態不可或缺的一部分。當建立新的應用程式時,可能會想要取得使用者在其他平台上的資訊,但這個過程充滿了許多資安風險。身為程式與架構的開發團隊,該如何使用正確的技術,來保護應用程式和使用者呢?
本書將會介紹目前zui穩定的兩個協定:OAuth 2.0 與 OpenID Connect 的完整流程以及實作。此外,本書在一開始也會介紹身分驗證與授權的基本元素,讓讀者能夠輕鬆理解協定設計的基本原理,而不再是一知半解。
漸進式學習主題
● 了解身分驗證概論以及 Web 基礎
基礎是非常重要的,在 OAuth 2.0 上更是如此。從身分驗證概論、HTTP 協定的特性、演算法的基礎,接著延伸到身分驗證的實作,這些都是後續理解協定須具備的前置技能。
● OAuth 2.0 與擴充協定的介紹
本書將整理官方協定,並按適合初學者學習的順序來安排章節。其中包括 OAuth 2.0 的四種基本授權流程、原生應用程式與瀏覽器應用程式的授權流程,以及 OpenID Connect 的三種身分驗證流程,已涵蓋大多數的身分驗證與授權情境。讀者可依實務遇到的情境來選擇適合的流程參考。
● OAuth 2.0 實戰練習
了解協定後,接著以實作來證明協定的可行性。應用程式的部分,OAuth 2.0 會以 Facebook 為例,OpenID Connect 會以 LINE Login 為例來說明實作的過程;授權伺服器端則是以開源的服務 Hydra 為例,來介紹實際身分驗證與授權中心會需要處理的任務為何。
本書特色
? 參考公開標準和協定撰寫成章
? 循序介紹 OAuth 2.0 基本原理
? 豐富前導知識及相關補充主題
? 身分驗證系統實作經驗分享
目標讀者
?網頁前端工程師
?網頁後端工程師
目錄
推薦序一:開發一定會碰到身分驗證
推薦序二:簡單但不簡單的 Auth 開發
推薦序三:RFC 汪洋中的一盞明燈
序言
CHAPTER 01 身分驗證與授權
1-1 識別
1-2 驗證
1-3 授權
1-4 歸責
1-5 章節回顧
CHAPTER 02 HTTP協定
2-1 HTTP 的特性
2-2 Cookie 機制
2-3 SSL∕TLS
2-4 章節回顧
CHAPTER 03 密碼學
3-1 加密與解密
3-2 雜湊
3-3 訊息驗證碼
3-4 數位簽章
3-5 亂數
3-6 章節回顧
CHAPTER 04 實作 Web 身分驗證
4-1 身分驗證
4-2 JWT
4-3 狀態保存
CHAPTER 05 OAuth 2.0 與 OpenID Connect 簡介
5-1 OAuth 2.0 情境劇
5-2 OAuth 2.0 與 OpenID Connect 能做什麼?
5-3 OAuth 2.0 與 OpenID Connect「不能」做什麼?
5-4 本章重點
CHAPTER 06 OAuth 2.0 授權協定
6-1 OAuth 2.0 的角色
6-2 Access Token 與 Refresh Token
6-3 快速建構 OAuth 2.0 應用程式
6-4 註冊應用程式
6-5 授權碼流程
6-6 隱含授權
6-7 密碼驗證授權
6-8 應用程式憑證授權
6-9 使用 Refresh Token 換發 Access Token
6-10 Token 如何使用、驗證與撤銷?
6-11 我應該使用哪個 OAuth 2.0 授權類型?
6-12 其他注意事項
CHAPTER 07 其他應用程式類型的授權流程
7-1 Proof Key for Code Exchange 擴充協定
7-2 原生應用程式的授權流程
7-3 瀏覽器應用程式的授權流程
CHAPTER 08 OpenID Connect 身分驗證協定
8-1 完成身分驗證與完成授權的差異
8-2 OpenID Connect 與 OAuth 2.0 的比較
8-3 身分驗證流程
8-4 Prompt 參數用法
8-5 登出流程
8-6 第三方啟動登入
8-7 OP 與應用程式的相關資訊定義
CHAPTER 09 應用程式端的實務範例
9-1 透過 OAuth 2.0 協定請求 Facebook 授權
9-2 透過 OpenID Connect 協定請求 LINE Login 身分驗證
CHAPTER 10 授權伺服器的實務範例
10-1 Hydra 簡介
10-2 Hydra 的流程定義
10-3 建構 Hydra 與相關服務
10-4 總結
APPENDIX A 規範參考文件
APPENDIX B 專有名詞參考
APPENDIX C 縮寫名詞參考
链接:https://pan.baidu.com/s/12X-UZZb4C-Qhkq64HnkvgA?pwd=mzbh 提取码:mzbh
页:
[1]