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