OAuth 2.0 授權機制,一點兒都不簡單!

在初次使用一個 App 時,我們大多都會授權第三方賬號登錄,比如微信。這樣,App 會直接拿到微信授權的信息,省去了用戶二次上傳頭像、輸入用戶名等一系列繁複的註冊流程。而這整個授權過程都可以歸到一個詞上,就是 OAuth 2.0。

 

作爲一種安全、授權協議,甚至可以說是一種委託協議,OAuth 2.0 已被廣泛應用在互聯網中,保護着成千上萬個 Web API。它並不是一門新技術,從 07 年 OAuth 1.0 面世,到 11 年發佈 OAuth 2.0 草案,市面上已經有不少相關資料了。

 

所以,在初次接觸 OAuth 2.0 時,我覺得看兩篇文章就夠了。但它立刻給了一個“下馬威”,讓我在授權碼流程的使用上難以推進。其實,不止是我,很多用 OAuth 2.0 的人都有類似的困惑:

 

1、授權碼、令牌這些流程,實在讓人暈頭轉向,OAuth 到底是如何保證用戶信息安全的呢?

2、經常在網上看到 OAuth 相關的安全問題,那在開發過程中,具體需要注意什麼呢?可別因爲技術問題,把用戶信息給泄露了。

 

那會兒,也在網上找過不少資料,但內容實在不成體系,走了不少彎路。後來,在和 OAuth 2.0 打了幾年交道之後,才真真切切地發現,OAuth 2.0 是講授權沒錯,但要用對、用好這個協議,絕不是零散的幾篇文章就能講清楚的,只有對每個知識點仔細梳理並深入理解,才能解決工作中的實際問題。


????王新棟總結的OAuth 2.0的知識體系圖

 

說到這,給你介紹個高手——京東資深架構師王新棟

自 2014 年加入京東至今,他一直在參與開放平臺的架構設計與開發工作,在開放網關和開放授權上有豐富的實戰經歷。他把自己對 OAuth 2.0 的理解,結合開放平臺上的多年工作經驗,都匯聚在專欄《OAuth 2.0 實戰課》中。

在專欄中,他深入講解 4 大授權許可類型原理,介紹了 OAuth 2.0 一些更高級的用法,比如:OAuth 2.0 在移動 App 中的應用,安全快速接入 OAuth 2.0 的方法,及如何用它實現一個 OpenID Connect 用戶身份認證協議。此外,還分享了一個基於 OAuth 2.0/JWT 的微服務架構參考,讓你學以致用,徹底拿下 OAuth 2.0。

 

????掃碼免費試讀

結算時,輸入優惠口令「oauthgogo」

再減 5 元,到手僅 ¥50

僅限「前 100 人」有效

 

王新棟是誰?

上面說過他是京東資深架構師,除此之外,他還是騰訊雲 TVP,從事互聯網研發、架構已經 10 多年了,著有《架構修煉之道》一書。

作爲首席架構師,王新棟和團隊一起構建的商家開放平臺架構,成功經歷了 6 次“ 618” 和“11.11”大促流量洪峯和複雜環境的考驗。同時,由他主導設計的商家開放平臺,其中的 OAuth 2.0 授權應用架構,成功支持了喜馬拉雅、酷狗音樂、騰訊視頻和京東 PLUS 的聯合會員業務。目前,他正致力於開發者效率提升的解決方案優化與實現。

他是如何講解 OAuth 2.0 的?

 

王新棟將課程分爲「基礎篇」和「進階篇」兩大模塊,每個模塊都有大量實踐內容,讓你徹底搞懂並且用好 OAuth 2.0。

基礎篇,OAuth 2.0 必備基礎知識介紹授權碼許可類型的流程,並在此基礎上,講解資源擁有者憑據許可、隱式許可、客戶端憑據許可,這三種常見許可類型的原理,及如何根據實際場景,選擇適合的授權類型。

爲了方便你理解,他用小明用第三方“小兔打單軟件”來打印自己在京東店鋪的訂單數據的例子,來貫穿基礎篇的始終。這樣,在你學完這部分後,就可以從容地在實際工作中使用 OAuth 2.0 了。

進階篇,側重講解 OAuth 2.0 “更高級” 的用法,帶你瞭解如何更安全、可擴展地使用 OAuth 2.0,包括:OAuth 2.0 在移動 App 中的應用,因使用不當而導致的 OAuth 2.0 安全漏洞有哪些,以及如何使用 OAuth 2.0 實現一個 OpenID Connect 用戶身份認證協議。另外,還會分享一個基於 OAuth 2.0/JWT 的微服務架構參考案例。

最後,爲了讓你學以致用,他還準備了一份簡單、可落地的代碼,不僅把整個 OAuth 2.0 的組件都跑通了,還包含了一個 OIDC 協議的具體實現。值得一提的是,他在代碼裏預留了一些 TODO 的地方,你可以結合上下文來自行實踐,是一項開源的工程。

跟他學完這門課,你可以練就授權領域練的一雙“火眼金睛”,發現所有使用過 OAuth 2.0 的痕跡。這樣,不用抓包分析,你也能洞悉其背後的原理,爲今後快速熟知互聯網的類似場景打下堅實基礎。

訂閱福利

早鳥 + 口令「oauthgogo」到手僅 ¥50

原價 ¥68,僅限「前 100 人」有效。

訂閱後生成海報發給好友,

每成功邀請 1 位,得 ¥18 返現。

 

????掃碼免費試讀

溫馨提示:

訂閱後可通過「極客時間 App」或「極客時間小程序」我的-已購,學習已訂閱的專欄。

????點擊「閱讀原文」

輸入優惠口令「oauthgogo」,

最低價 ¥50 入手,僅限前 100 人

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章