OAUTH 產生背景安全
隨着互聯網的深刻發展,一些互聯網巨頭積累了海量的用戶和數據。對於平臺級軟件廠商來講,用戶的需求多種多樣,變化萬千blog
以一己之力予以充分知足,不免疲於本命。所以將數據以接口的形式開放的衆多的第三方開發者,便成了必然的趨勢。第三方接口
開發者通過二次開發,知足一小部分用戶的獨特需求,即可以是本身獲取利益,也可以讓數據流動起來,在大平臺周圍造成一個資源
良性的生態環境可以,最終達到用戶,平臺商,第三方開發者雙贏,在這樣的背景下就誕生了OAUTH協議。開發
OAUTH介紹get
OAUTH 協議旨在爲用戶資源的受權訪問提供一個安全,開放的標準。平臺商經過OAUTH協議,提示用戶對第三方軟件廠商(ISV)進進行受權。it
使得第三方軟件廠商可以使用平臺商的部分數據,對用戶提供服務。與以往的受權形式不一樣,OAUTH協議並不須要觸及用戶的帳戶信息和登錄
密碼,變能夠完成第三方對用戶信息訪問的受權。軟件
用戶經過平臺商對第三方應用進行受權,而第三方應用獲得受權後,即可以對必定時間內,經過平臺商提供接口,訪問到用戶受權的信息,互聯網
爲用戶提供服務。
OAUTH受權過程
協議的核心思想是將資源作權限分級和隔離,ISV引導用戶在平臺端登陸,完成受權。得到受權後ISV能夠在必定時間段內,訪問用戶的私有
數據,用戶徹底能夠把控這一過程,且受權能夠取消。
要活的OAUTH協議受權:
1須要第三方開發者向平臺商申請應用ID,即APPID,對本身的APP進行註冊。
2.一次OAUTH受權包括三個角色:
1.普通用戶
2.第三方應用(ISV)
3.平臺商。
3. 受權過程以下:
1.用戶先對ISV的應用進行訪問,發起請求。
2.ISV接收到用戶請求後,再向平臺商請求REQUEST TOKEN,並帶上其申請的APPID.
3.平臺將返回給ISV應用 REQUEST TOKEN.
4.ISV應用將用戶引導到平臺受權頁面,並帶上本身的APPID,REQUEST TOKEN和回調地址。
5.用戶在平臺頁面上進行登陸,而且完成受權。(這樣就不會將用戶名,密碼暴露給第三方)。
6.平臺經過ISV提供的回調連接,返回給ISV應用ACCESS TOKEN。
7.ISV 應用經過 ACCESS TOKEN 取到用戶受權數據,進行加工後返回給用戶,受權數據訪問完成。