我真的想了解OpenID和OAuth之間的區別嗎? 也許他們是兩個徹底不一樣的東西? spa
OpenID(主要)用於標識/身份驗證,所以stackoverflow.com
知道我擁有chris.boyle.name
(或任何地方),所以我多是昨天擁有chris.boyle.name
並得到一些聲望點的同一我的。 code
OAuth旨在受權表明您執行操做,以便stackoverflow.com
(或任何地方)能夠在不知道您的Twitter密碼的狀況下自動錶明您發送Tweet權限。 圖片
OpenID是關於身份驗證(即證實你是誰), OAuth是關於受權(即授予對功能/數據/等的訪問權限而沒必要處理原始身份驗證)。 ip
OAuth能夠在外部合做夥伴站點中使用,以容許訪問受保護的數據,而無需從新驗證用戶。 get
從用戶的角度來看 ,博客文章「 OpenID與OAuth」從用戶的角度對二者進行了簡單的比較,「 OAuth-OpenID:若是你認爲他們是同一件事,你就會吵到錯誤的樹 」瞭解更多信息關於它。 博客
OAuth的 it
僅用於委派authorization
- 意味着您受權第三方服務訪問以使用我的數據,而無需提供密碼。 此外,OAuth「會話」一般比用戶會話更長壽。 意味着OAuth旨在容許受權 io
即Flickr使用OAuth容許第三方服務表明他們發佈和編輯人物圖片,而無需提供他們的閃爍用戶名和密碼。 登錄
OpenID的 擴展
用於authenticate
單點登陸身份。 全部OpenID應該容許OpenID提供商證實你說你是。 然而,許多站點使用身份驗證來提供受權(可是二者能夠分開)
即一我的在機場出示他們的護照,以驗證(或證實)他們正在使用的機票名稱是誰。
OpenID和OAuth是用於身份驗證和/或受權的每一個基於HTTP的協議。 二者都旨在容許用戶執行操做,而無需向客戶端或第三方提供身份驗證憑據或一攬子權限。 雖然它們類似,而且提出了將它們一塊兒使用的標準,但它們是單獨的協議。
OpenID旨在用於聯合身份驗證。 客戶端接受來自任何提供商的身份斷言(儘管客戶能夠自由列入白名單或黑名單)。
OAuth旨在用於委派受權。 客戶向提供商註冊,提供商提供受權令牌,它將接受表明用戶執行操做。
OAuth目前更適合受權,由於身份驗證後的進一步交互內置於協議中,但這兩種協議都在不斷髮展。 OpenID及其擴展可用於受權,OAuth可用於身份驗證,可將其視爲無操做受權。
許多人仍然訪問這個,因此這裏有一個很是簡單的圖解釋它