OAuth 2.0 了解了,OAuth 2.1 呢?
- 2021 年 5 月 2 日
- 筆記
OAuth 2.0
OAuth 2.0 是工業級標準授權協議。 OAuth 2.0 聚焦於客戶端開發者便利性,為網頁應用程式、桌面客戶端、手機、客廳設備提供特定的授權流程。
RFC6749 OAuth 2.0 授權框架
RFC6750 OAuth 2.0 授權框架:使用 Bearer Token
OAutho 2.0 安全當前最佳實踐——注意,此文檔僅是草稿,很有可能隨時會被替換或者被棄用。在這裡引用的目的是為了提升對 OAuth 2.0 的理解和當前應用場景下 OAuth 2.0 存在的一些問題。
OAuth 2.1
OAuth 2.1 是一項正在努力中的工作。以鞏固和簡化 OAuth 2.0 中最常用的功能。
自從 2012 年發布初版 OAuth 2.0 (RFC6749)以來,幾個新的徵求意見稿(RFC)也發布了,要從核心規則中添加或移除功能。包括雲原生 Apps OAuth 2.0(RFC8252)、PKCE、瀏覽器應用授權、OAutho 2.0 安全當前最佳實踐。
和 OAuth 2.0 主要的不同如下:
- 所有使用授權碼流程的客戶端都需要 PKCE(Proof Key for Code Exchange)
- 必須使用精確字元串匹配來比較重定向 URI
- 從 OAuth 2.0 中刪除隱式授權,也叫簡單模式(response_type=token)
- 從 OAuth 2.0 中移除密碼模式
- Bearer 令牌使用,移除在 URI 中 query 字元串中使用 Bearer 令牌
- 公共客戶端刷新令牌必須受發送端限制或是一次性的