OAuth2.0学习(1-1)OAuth2.0是什么?
目前很多開放平臺如新浪微博開放平臺都在使用提供開放API接口供開發(fā)者使用,隨之帶來了第三方應(yīng)用要到開放平臺進行授權(quán)的問題
OAuth就是用于為第三方應(yīng)用授權(quán)訪問用戶的資源應(yīng)用的。
目前有OAuth1.0、OAuth2.0兩個版本。OAuth2是OAuth協(xié)議的下一個版本,相比OAuth1,OAuth2整個授權(quán)流程更簡單安全了,但不兼容OAuth1,
OAuth2官網(wǎng)http://oauth.net/2/,OAuth2協(xié)議規(guī)范可以參考http://tools.ietf.org/html/rfc6749。
1、第一個例子:用戶授權(quán)第三方應(yīng)用打印自己存在百度云盤的照片
有一個"云沖印"的網(wǎng)站,可以將用戶儲存在百度云盤的照片,沖印出來。用戶為了使用該服務(wù),必須讓"云沖印"讀取自己儲存在百度云盤上的照片。
這個需求存在的安全問題是百度云盤只有得到用戶的授權(quán),才會同意"云沖印"讀取這些照片。
那么,"云沖印"怎樣獲得用戶的授權(quán)呢?
傳統(tǒng)方法是,用戶將自己的百度云盤用戶名和密碼,告訴"云沖印",后者就可以讀取用戶的照片了。
這樣的做法有以下幾個嚴重的缺點。
(1)"云沖印"為了后續(xù)的服務(wù),會保存用戶的密碼,這樣很不安全。
(2)百度云盤不得不部署密碼登錄,而我們知道,單純的密碼登錄并不安全。
(3)"云沖印"擁有了獲取用戶儲存在百度云盤所有資料的權(quán)力,用戶沒法限制"云沖印"獲得授權(quán)的范圍和有效期。
(4)用戶只有修改密碼,才能收回賦予"云沖印"的權(quán)力。但是這樣做,會使得其他所有獲得用戶授權(quán)的第三方應(yīng)用程序全部失效。
(5)只要有一個第三方應(yīng)用程序被破解,就會導(dǎo)致用戶密碼泄漏,以及所有被密碼保護的數(shù)據(jù)泄漏。
?
2、第二個例子:某些社交應(yīng)用支持QQ登錄或微博登錄
有些網(wǎng)站支持使用QQ賬號登錄或微博賬號登錄,流程如下:
第一步:用戶登錄第三方網(wǎng)站,系統(tǒng)允許用戶選擇登錄方式。
第二步:用戶選擇【用QQ賬號登錄】方式登錄。瀏覽器會發(fā)送請求給qq平臺,系統(tǒng)會跳到qq平臺登錄頁面,提示輸入用戶名和密碼。
第三步:用戶輸入QQ平臺的用戶名和密碼,點擊登錄,QQ平臺驗證用戶名和密碼正確后,提示用戶是否接受授權(quán)
? ? ? ? ? ?如果用戶授權(quán)成功,第三方網(wǎng)站就能訪問你的資源了,qq頭像、用戶名等
?OAuth就是為了解決上面這些問題而誕生的!!!!
?
轉(zhuǎn)載于:https://www.cnblogs.com/lexiaofei/p/6923515.html
總結(jié)
以上是生活随笔為你收集整理的OAuth2.0学习(1-1)OAuth2.0是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql的建表规范与注意事项
- 下一篇: 智能路由器-OpenWRT 系列五 (N