OAuth2.0学习(1-1)OAuth2.0是什么?
目前很多開放平臺(tái)如新浪微博開放平臺(tái)都在使用提供開放API接口供開發(fā)者使用,隨之帶來了第三方應(yīng)用要到開放平臺(tái)進(jìn)行授權(quán)的問題
OAuth就是用于為第三方應(yīng)用授權(quán)訪問用戶的資源應(yīng)用的。
目前有OAuth1.0、OAuth2.0兩個(gè)版本。OAuth2是OAuth協(xié)議的下一個(gè)版本,相比OAuth1,OAuth2整個(gè)授權(quán)流程更簡單安全了,但不兼容OAuth1,
OAuth2官網(wǎng)http://oauth.net/2/,OAuth2協(xié)議規(guī)范可以參考http://tools.ietf.org/html/rfc6749。
1、第一個(gè)例子:用戶授權(quán)第三方應(yīng)用打印自己存在百度云盤的照片
有一個(gè)"云沖印"的網(wǎng)站,可以將用戶儲(chǔ)存在百度云盤的照片,沖印出來。用戶為了使用該服務(wù),必須讓"云沖印"讀取自己儲(chǔ)存在百度云盤上的照片。
這個(gè)需求存在的安全問題是百度云盤只有得到用戶的授權(quán),才會(huì)同意"云沖印"讀取這些照片。
那么,"云沖印"怎樣獲得用戶的授權(quán)呢?
傳統(tǒng)方法是,用戶將自己的百度云盤用戶名和密碼,告訴"云沖印",后者就可以讀取用戶的照片了。
這樣的做法有以下幾個(gè)嚴(yán)重的缺點(diǎn)。
(1)"云沖印"為了后續(xù)的服務(wù),會(huì)保存用戶的密碼,這樣很不安全。
(2)百度云盤不得不部署密碼登錄,而我們知道,單純的密碼登錄并不安全。
(3)"云沖印"擁有了獲取用戶儲(chǔ)存在百度云盤所有資料的權(quán)力,用戶沒法限制"云沖印"獲得授權(quán)的范圍和有效期。
(4)用戶只有修改密碼,才能收回賦予"云沖印"的權(quán)力。但是這樣做,會(huì)使得其他所有獲得用戶授權(quán)的第三方應(yīng)用程序全部失效。
(5)只要有一個(gè)第三方應(yīng)用程序被破解,就會(huì)導(dǎo)致用戶密碼泄漏,以及所有被密碼保護(hù)的數(shù)據(jù)泄漏。
?
2、第二個(gè)例子:某些社交應(yīng)用支持QQ登錄或微博登錄
有些網(wǎng)站支持使用QQ賬號(hào)登錄或微博賬號(hào)登錄,流程如下:
第一步:用戶登錄第三方網(wǎng)站,系統(tǒng)允許用戶選擇登錄方式。
第二步:用戶選擇【用QQ賬號(hào)登錄】方式登錄。瀏覽器會(huì)發(fā)送請(qǐng)求給qq平臺(tái),系統(tǒng)會(huì)跳到qq平臺(tái)登錄頁面,提示輸入用戶名和密碼。
第三步:用戶輸入QQ平臺(tái)的用戶名和密碼,點(diǎn)擊登錄,QQ平臺(tái)驗(yàn)證用戶名和密碼正確后,提示用戶是否接受授權(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