技術
標點符
4年前 (2011-08-31)
2315℃
前面兩篇文章(oauth學習筆記和openid學習筆記)都說了可以用來認證身份,但是他們之間到底有哪些不同,哪些情況應該用oauth,哪些情況應該用openid呢?下面就一起來看下他們之間的區別。
簡短的說,oauth關注的是authorization;而openid側重的是authentication。從表面上看,這兩個英文單詞很容易混淆,但實際上,它們的含義有本質的區別:
oauth關注的是授權,即:「使用者能做什麼」;而openid關注的是證明,即:「使用者是誰」。下面就分別來說兩者的功能。
openid
使用者希望訪問其在example.com的賬戶
example.com (在openid的黑話裡面被稱為「relying party」) 提示使用者輸入他/她/它的openid
使用者給出了他的openid,比如說」
example.com 跳轉到了使用者的openid提供商「mypopenid.com」
使用者在」myopenid.com」(openid provider)提示的介面上輸入使用者名稱密碼登入
「myopenid.com」 (openid provider) 問使用者是否要登入到example.com
使用者同意後,」myopenid.com」 (openid provider) 跳轉回example.com
example.com 允許使用者訪問其帳號
oauth
使用者在使用example.com時希望從mycontacts.com匯入他的聯絡人
example.com (在oauth的黑話裡面叫「consumer」)把使用者送往mycontacts.com (黑話是「service provider」)
使用者在mycontacts.com 登入(可能也可能不用了他的openid)
mycontacts.com問使用者是不是希望授權example.com訪問他在mycontact.com的聯絡人
使用者確定
mycontacts.com 把使用者送回example.com
example.com 從mycontacts.com拿到聯絡人
example.com 告訴使用者匯入成功
openid是用來驗證的,就是說可以用乙個url來唯一表明身份(不用挨個記每個**的使用者密碼)。oauth是用來授權的(俺可以授權乙個**訪問俺在另外乙個**的資料,而俺不用把俺的密碼給第乙個**。
很多人現在錯誤的把oauth當做openid使用。但是其實也不會照成什麼影響。如水煮魚開發的wordpress外掛程式:
OAuth和OpenID的區別
出處 前面兩篇文章 oauth學習筆記和openid學習筆記 都說了可以用來認證身份,但是他們之間到底有哪些不同,哪些情況應該用oauth,哪些情況應該用openid呢?下面就一起來看下他們之間的區別。簡短的說,oauth關注的是authorization 而openid側重的是authentica...
OAuth2 0和SSO授權的區別
一 oauth2.0授權協議 圖示 流程 1 獲取未授權的request token。url request token url。response oauth token oauth secret 2 獲取使用者授權的request token。url user authorizition url。...
Oauth2 0與Oauth1 0的區別
oauth1.0與oauth2.0的區別 雲計算的熱火,引出了大量的開放平台,各種第三方應用建立在開放平台之上,對於安全性的要求,於是出現了oauth協議,2007年發布了oauth1.0協議,同時又開始了oauth2.0的討論,2.0的草案與2011年發布。新的2.0與1.0不相容。下面說一說2....