日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

為什么 OAuth 2.0 是互聯網繁榮的基石技術

admin
2025年4月13日 16:58 本文熱度 121

就如同牽拉一根絲會引起整個蜘蛛網的伸展和重塑一樣,一項新技術的到來會引起經濟中的價格和生產網絡在各行各業伸展、重塑。

布萊恩·阿瑟《技術的本質》


1/ 什么是 OAuth 2.0
OAuth 2.0 是互聯網應用程序之間授權認證的行業標準協議。它的全稱是OAuth 2.0 授權框架(The OAuth 2.0 Authorization Framework,該規范及其擴展由互聯網工程任務組(IETF)的 OAuth 工作組內開發,對應協議文檔為 RFC 6749。
OAuth 2.0 協議定義了第三方應用程序如何安全地訪問 HTTP 服務所開放的資源和功能,以實現應用程序之間在功能上的互聯互通。
2/ OAuth 2.0 解決了什么問題
舉一個打工人都熟悉的例子交社保。
現在大家都可以在微信/支付寶上交社保(以及完成其他政企事務),非常方便。傳統上繳納社保都應該去社保中心,至少需要在國家社保中心app/小程序上完成,為什么在微信和支付寶上也可以?微信和支付寶是民企,并不是國企事業單位,也不是國企控股子公司,所以他們的數據必然不是互通的。
在不共享數據但又想要共享部分功能的情況下,這又是如何實現的呢?
1)分享密碼的方式
最直接想到的方法是:把我們社保中心的賬戶和密碼直接交給微信和支付寶,讓他們幫我們登錄社保中心,然后把錢轉給社保中心。這樣做可以實現交社保這個目的,但是用戶信息卻面臨巨大的不安全。理論上微信/支付寶這些平臺拿到我們的賬號和密碼之后,除了交社保會不會偷偷做其他事情?如果賬號和密碼在他們平臺泄露了怎么辦?等等,這些疑問都說明顯然這不是一個很好的解決問題的方式。
2)授權認證服務
OAuth 授權框架就是在這樣的背景下誕生的。OAuth 1.0 的草案在 2007 年被提出,引入了授權碼和訪問令牌的機制,使得第三方應用程序可以在不獲取用戶憑據(即賬號+密碼)的情況下訪問受保護資源,從而降低了用戶憑據泄露的風險。簡單說來就是:任何需要使用用戶信息地方需要得到授權;任何訪問用戶信息的請求需要驗證授權。
繼續上面交社保例子(為簡單說明問題暫時隱去實現細節):

  1. 用戶小Q登錄微信,點擊交社保
  2. 微信請求國家社保中心,申請訪問小Q的社保賬戶
  3. 社保中心詢問小Q是否同意微信訪問社保賬戶
  4. 小Q選擇同意,社保中心則給小Q下發令牌(有一定時效性),小A把令牌交給微信
  5. 微信拿著令牌請求社保中心訪問小Q的社保賬戶,繳納社保

整個流程期間,微信不需要知曉用戶小Q的賬戶密碼。
交社保如此,酒店入住、征信授權、登錄授權等衣食住行應用皆如此。
OAuth 2.0 在 OAuth 1.0 的基礎上進行了顯著的改進,2012 年成為提案標準,它解決了 OAuth 1.0 的復雜性(簡化流程)、安全性(依賴 SSL/TLS 加密傳輸)問題,適應了 Web 應用、移動應用和桌面應用等多種場景,成為了一個更安全、更簡單、更通用的授權框架,它是各個應用之間互聯互通的事實標準。
:OAuth 2.0 的發展也不是一帆風順的,有興趣的讀者可以讀一讀OAuth 1.0 的作者 Eran Hammer 那篇著名的文章《OAuth 2.0 :通往地獄之路》,底部引用處有鏈接。
3/ OAuth 2.0 為什么可以稱之為基石技術
評價一樣東西是不是重要的,可以想象一下如果沒有它,事情會變成怎樣的。
如果沒有 OAuth 2.0 這類安全授權認證框架,各個互聯網平臺之間無法互通,至少無法安全的互通,沒有互通,那便沒有交易往來,便不會有繁榮。
如果說PC互聯網時代,網絡上的信息是一個巨大的數字花園,大家都可以從這個花園中生產和分享信息,但移動互聯網的出現,數字花園逐漸被圍欄花園所替代,每一個app都是獨立的數據孤島,每一家平臺都是各自為戰。如果圍欄花園之間沒有互聯,如果沒有開放平臺,那互聯網的發展不會繁榮至今。
4/ OAuth 2.0 框架的實現流程 - 以第三方登錄場景說明
上面寫了那么多,有點抽象,還是不夠直接具體。考慮到交社保的例子在實現方面涉及很多非本篇討論的金融知識,本段落以一個用戶通過微信賬號登陸第三方應用的例子,來簡單說明 OAuth 2.0 協議的實現流程。
對比兩個場景:

  • 場景1:用戶輸入用戶名+密碼登錄微信
  • 場景2:用戶使用微信賬號授權登錄小紅書(即第三方應用)

一圖勝千言萬語,直接上圖:
關于場景2的實現過程如下(即:小紅書如何拿到用戶在微信側的登錄授權):
注:上圖紅色部分的6個步驟即 OAuth 2.0 協議的基本原理
假設:

  • 把登錄信息抽象為一切用戶信息資源
  • 把第三方應用和微信抽象為一切平臺與應用

那么:涉及用戶、應用和平臺之間的互聯互通場景,OAuth 2.0 的實現原理基本一致,作為開發者接入這些平臺需要實現的業務邏輯也基本趨同。
下面是一些平臺/應用公司的開放平臺說明,可以看到他們的實現流程基本與上述過程無異:

  • Oracle軟件

    • https://docs.oracle.com/cd/E50612_01/doc.11122/oauth_guide/content/oauth_flows.html

  • 騰訊廣告

    • https://developers.e.qq.com/v3.0/pages/authorization_and_authentication

  • 微信開放平臺

    • https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Development_Guide.html

  • 微信小程序

    • https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

  • 小米開放平臺

    • https://dev.mi.com/console/doc/detail?pId=711


References

  • https://oauth.net/2/
  • https://datatracker.ietf.org/doc/html/rfc6749
  • https://netapinotes.com/eran-hammers-oauth-20-road-to-hell/


閱讀原文:原文鏈接


該文章在 2025/4/14 10:25:51 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 日韩制服丝| 亚洲第一综合天堂另类专 | 亚洲欧美一区二区三区在线 | 果冻传媒视频一二在线观看 | 动漫美女无 | 日韩欧美国产另 | 影音先锋亚洲综合小说在线 | 又大又粗又硬又爽 | 欧美a级成人 | 中文字幕一精品亚洲无线一区 | 最新电影电视剧观看 | 国产喷水在线观看 | 91伊人国产| 欧美一区二区激情视频在线播放 | 国产高清在线视频伊甸园 | 成人激情五月天 | 免费获取 | 国产乱子伦对白视频 | 亚洲综合另类第一页 | 最好看的中文字幕国语电影 | 免费高清欧美一区二区三区 | 男女爽爽午夜18污污影院 | 一个人免费观看视频www | 亚洲欧美色国产综合 | 精品一区二区国产 | 亚洲国产欧美日韩精品 | 黄动漫在 | 国产目拍亚洲精品二区 | 色橹橹欧美在线观看视频高清 | 污污视频软件下载 | 午夜福利久 | 成人中文字幕在线 | 亚洲日韩国产欧 | 国产在线高清精品1314 | 精品福利一区二区在线观看 | 欧美日韩一区二区三区在线播放 | 午夜国产 | 字幕一区| 国产一区二区视频在线播放 | 午夜福利精品在线播放 | 亚洲国产亚洲片在线观看播放 |