日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Oauth2.0协议 http://www.php20.com/forum.php?mod=viewthreadtid=28 (出处: 码农之家)

發(fā)布時間:2025/4/14 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oauth2.0协议 http://www.php20.com/forum.php?mod=viewthreadtid=28 (出处: 码农之家) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概要?
? ? OAuth2.0是OAuth協(xié)議的下一版本,但不向后兼容OAuth 1.0即完全廢止了OAuth1.0。 OAuth 2.0關注客戶端開發(fā)者的簡易性。要么通過組織在資源擁有者和HTTP服務商之間的被批準的交互動作代表用戶,要么允許第三方應用代表用戶獲得訪問的權限。同時為Web應用,桌面應用和手機,和起居室設備提供專門的認證流程。2012年10月,OAuth 2.0協(xié)議正式發(fā)布為RFC 6749

OAuth 1.0已經(jīng)在IETF塵埃落定,編號是RFC5849
這也標志著OAuth已經(jīng)正式成為互聯(lián)網(wǎng)標準協(xié)議。
OAuth 2.0早已經(jīng)開始討論和建立的草案。OAuth2.0很可能是下一代的“用戶驗證和授權”標準。現(xiàn)在百度開放平臺,騰訊開放平臺等大部分的開放平臺都是使用的OAuth 2.0協(xié)議作為支撐。
OAuth(開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網(wǎng)站上存儲的私密的資源(如照片,視頻,聯(lián)系人列表),而無需將用戶名和密碼提供給第三方應用。



OAuth
允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務提供者的數(shù)據(jù)。每一個令牌授權一個特定的網(wǎng)站(例如,視頻編輯網(wǎng)站)在特定的時段(例如,接下來的2小時內(nèi))內(nèi)訪問特定的資源(例如僅僅是某一相冊中的視頻)。這樣,OAuth允許用戶授權第三方網(wǎng)站訪問他們存儲在另外的服務提供者上的信息,而不需要分享他們的訪問許可或他們數(shù)據(jù)的所有內(nèi)容。
OAuth是OpenID的一個補充,但是完全不同的服務。



OAuth 2.0
是OAuth協(xié)議的下一版本,但不向后兼容OAuth 1.0。 OAuth 2.0關注客戶端開發(fā)者的簡易性,同時為Web應用,桌面應用和手機,和起居室設備提供專門的認證流程。2012年10月,OAuth 2.0協(xié)議正式發(fā)布為RFC 6749 。
Facebook的新的Graph API只支持OAuth 2.0,Google在2011年3月亦宣布Google API對OAuth 2.0的支持。

認證授權過程編輯
在認證和授權的過程中涉及的三方包括:
1、服務提供方,用戶使用服務提供方來存儲受保護的資源,如照片,視頻,聯(lián)系人列表。
2、用戶,存放在服務提供方的受保護的資源的擁有者。
3、客戶端,要訪問服務提供方資源的第三方應用,通常是網(wǎng)站,如提供照片打印服務的網(wǎng)站。在認證過程之前,客戶端要向服務提供者申請客戶端標識。
使用OAuth進行認證和授權的過程如下所示:
用戶想操作存放在服務提供方的資源。
用戶登錄客戶端向服務提供方請求一個臨時令牌。
服務提供方驗證客戶端的身份后,授予一個臨時令牌。
客戶端獲得臨時令牌后,將用戶引導至服務提供方的授權頁面請求用戶授權。在這個過程中將臨時令牌和客戶端的回調連接發(fā)送給服務提供方。
用戶在服務提供方的網(wǎng)頁上輸入用戶名和密碼,然后授權該客戶端訪問所請求的資源。
授權成功后,服務提供方引導用戶返回客戶端的網(wǎng)頁。
客戶端根據(jù)臨時令牌從服務提供方那里獲取訪問令牌。
服務提供方根據(jù)臨時令牌和用戶的授權情況授予客戶端訪問令牌。
客戶端使用獲取的訪問令牌訪問存放在服務提供方上的受保護的資源。
簡單歷史回顧
OAuth 1.0在2007年的12月底發(fā)布并迅速成為工業(yè)標準。
2008年6月,發(fā)布了OAuth 1.0 Revision A,這是個稍作修改的修訂版本,主要修正一個安全方面的漏洞。
2010年四月,OAuth 1.0的終于在IETF發(fā)布了,協(xié)議編號RFC 5849。
OAuth 2.0的草案是在2011年5月初在IETF發(fā)布的。
OAuth is a security protocol that enables users to grant third-party access to their web resources without sharing their passwords.
OAuth是個安全相關的協(xié)議,作用在于,使用戶授權第三方的應用程序訪問用戶的web資源,并且不需要向第三方應用程序透露自己的密碼。
OAuth 2.0是個全新的協(xié)議,并且不對之前的版本做向后兼容,然而,OAuth 2.0保留了與之前版本OAuth相同的整體架構。
這個草案是圍繞著 OAuth2.0的需求和目標,歷經(jīng)了長達一年的討論,討論的參與者來自業(yè)界的各個知名公司,包括Yahoo!, Facebook, Salesforce, Microsoft, Twitter, Deutsche Telekom, Intuit, Mozilla, and Google。
OAuth 2.0的新特性:
6種全新流程
User-Agent Flow – 客戶端運行于用戶代理內(nèi)(典型如web瀏覽器)。
Web Server Flow – 客戶端是web服務器程序的一部分,通過http request接入,這是OAuth 1.0提供的流程的簡化版本。
Device Flow – 適用于客戶端在受限設備上執(zhí)行操作,但是終端用戶單獨接入另一臺電腦或者設備的瀏覽器
Username and Password Flow – 這個流程的應用場景是,用戶信任客戶端處理身份憑據(jù),但是仍然不希望客戶端儲存他們的用戶名和密碼,這個流程僅在用戶高度信任客戶端時才適用。
Client Credentials Flow – 客戶端適用它的身份憑據(jù)去獲取access token,這個流程支持2-legged OAuth的場景。
Assertion Flow – 客戶端用assertion去換取access token,比如SAML assertion。
可以通過使用以上的多種流程實現(xiàn)Native應用程序對OAuth的支持(程序運行于桌面操作系統(tǒng)或移動設備)
application support (applications running on a desktop or mobile device) can be implemented using many of the flows above.
持信人token
OAuth 2.0 提供一種無需加密的認證方式,此方式是基于現(xiàn)存的cookie驗證架構,token本身將自己作為secret,通過HTTPS發(fā)送,從而替換了通過 HMAC和token secret加密并發(fā)送的方式,這將允許使用cURL發(fā)起APIcall和其他簡單的腳本工具而不需遵循原先的request方式并進行簽名。
簽名簡化:
對于簽名的支持,簽名機制大大簡化,不需要特殊的解析處理,編碼,和對參數(shù)進行排序。使用一個secret替代原先的兩個secret。
短期token和長效的身份憑據(jù)
原先的OAuth,會發(fā)行一個 有效期非常長的token(典型的是一年有效期或者無有效期限制),在OAuth 2.0中,server將發(fā)行一個短有效期的access token和長生命期的refresh token。這將允許客戶端無需用戶再次操作而獲取一個新的access token,并且也限制了access token的有效期。
角色分開
OAuth 2.0將分為兩個角色:
Authorization server負責獲取用戶的授權并且發(fā)布token。
Resource負責處理API calls。
流程圖

?

轉載于:https://www.cnblogs.com/yx520zhao/p/6616686.html

總結

以上是生活随笔為你收集整理的Oauth2.0协议 http://www.php20.com/forum.php?mod=viewthreadtid=28 (出处: 码农之家)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。