[OAath]是什麼?幹嘛用的呢?

  • 1938
  • 0
  • 2016-10-22

由於工作上的需要,公司要評估行動裝置上,怎麼結合SSO,故開始了我的OAuth評估的學習。

我想OAuth2中文的相關文件真的不少,我列出我近期看了,覺得不錯的連結給大家

Yu-Cheng Chuang’s Blog OAuth 2.0 系列文目錄

OpenAM的OAuth介紹文件

淺談 oAuth 2.0

我在吸收完之後,列成條列式的,方便大家閱讀。

OAuth是做啥用的?

OAuth主要的意思是 Authorization(授權),不是認證(Authentication)!!主要的是一個在身分認證過後,進行【授權】的流程,那授權是授哪些權呢?怎麼授呢?
以上面這張圖來說,有一個程式,名子叫做【XXX App】想要取得你在Google的個人資料,你願意嗎?
通常你看到這個畫面的時候,是你已經登入Google帳號,並要去加入某個服務(遊戲或應用程式),或要安裝啥應用程式才會這樣問你。
表示你要執行的這個【XXX App】要去Google取得你的個人資料,進而問你,你同意嗎?

看到這張Pokemon帳號登入,就是一個例子。
在這情境之下,有Fu了嗎?       

OAuth的流程中,有哪些角色?

 

用途

Facebook 模式

一般公司

Resource Owner

可以授權別人去存取 Protected Resource 。如果這個角色是人類的話,則就是指使用者

一般的使用者

公司的員工

Resource Server

存放 Protected Resource 的伺服器,可以根據 Access Token 來接受 Protected Resource 的請求。

握有USER資料的Facebook

人資部的資料中心主機

Client

代表 Resource Owner 去存取 Protected Resource 的應用程式。

需要存取受保護資源的程式

人事請假系統

Authorization Server

在認證過 Resource Owner 並且 Resource Owner 許可之後,核發 Access Token 的伺服器。

Facebook的獨立授權伺服器

驗正身分作業的主機

OAuth這個協定很新嗎?

在2012年發佈了2.0的版本。

哪些組織已經套用了OAuth?

由於OAuth的協定很受到各大機構推崇,故實際使用的按費非常之多,Google、Facebook、Plurk、Twitter 等等的服務都有提供。

參考網站:

10分鐘理解OAuth和facebook登入原理

OpenAM Chapter 13. Managing OAuth 2.0 Authorization

以上文章由Ryan整理,若有侵犯版權、勘誤,請來信告知