妙用生活中的經(jīng)歷理解OAuth 2.0原理

看看別人是如何理解這個(gè)抽象概念的?

OAuth(開(kāi)放授權(quán))是一個(gè)開(kāi)放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問(wèn)該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源(如照片断盛,視頻苗沧,聯(lián)系人列表),而無(wú)需將用戶名和密碼提供給第三方應(yīng)用个曙。

OAuth 允許用戶提供一個(gè)令牌锈嫩,而不是用戶名和密碼來(lái)訪問(wèn)他們存放在特定服務(wù)提供者的數(shù)據(jù)。每一個(gè)令牌授權(quán)一個(gè)特定的網(wǎng)站(例如垦搬,視頻編輯網(wǎng)站)在特定的時(shí)段(例如呼寸,接下來(lái)的 2 小時(shí)內(nèi))內(nèi)訪問(wèn)特定的資源(例如僅僅是某一相冊(cè)中的視頻)。這樣猴贰,OAuth 讓用戶可以授權(quán)第三方網(wǎng)站訪問(wèn)他們存儲(chǔ)在另外服務(wù)提供者的某些特定信息对雪,而非所有內(nèi)容。

來(lái)自知乎


我在QQ空間中上傳了好多我跟孩子游玩的照片米绕。有一天我發(fā)現(xiàn)某網(wǎng)站有一種自助的在線打印照片服務(wù)瑟捣。于是我就想把我的照片打印出來(lái)。為了使用該服務(wù)栅干,必須讓"云沖印"讀取自己儲(chǔ)存在QQ空間上的照片蝶柿。


云沖印

問(wèn)題是只有得到我的的授權(quán),QQ空間才會(huì)同意"云沖印"讀取這些照片非驮。那么交汤,"云沖印"怎樣獲得我的授權(quán)呢?

傳統(tǒng)方法是,我將自己的QQ用戶名和密碼芙扎,告訴"云沖印"星岗,后者就可以讀取用戶的照片了。這樣的做法有以下幾個(gè)嚴(yán)重的缺點(diǎn):

  1. "云沖印"為了后續(xù)的服務(wù)戒洼,會(huì)保存用戶的密碼俏橘,這樣很不安全。
  2. QQ不得不部署密碼登錄圈浇,而我們知道寥掐,單純的密碼登錄并不安全。
  3. "云沖印"擁有了獲取用戶儲(chǔ)存在QQ所有資料的權(quán)力磷蜀,用戶沒(méi)法限制"云沖印"獲得授權(quán)的范圍和有效期召耘。
  4. 用戶只有修改密碼,才能收回賦予"云沖印"的權(quán)力褐隆。但是這樣做污它,會(huì)使得其他所有獲得用戶授權(quán)的第三方應(yīng)用程序全部失效。
  5. 只要有一個(gè)第三方應(yīng)用程序被破解庶弃,就會(huì)導(dǎo)致用戶密碼泄漏衫贬,以及所有被密碼保護(hù)的數(shù)據(jù)泄漏。

OAuth就是為了解決上面這些問(wèn)題而誕生的歇攻。

來(lái)自阮一峰老師(經(jīng)過(guò)改編)


其實(shí)阮老師已經(jīng)非常形象生動(dòng)的解釋了這么一個(gè)抽象難懂的概念啦固惯。在我們現(xiàn)在的生活中,隨處可見(jiàn)缴守。比如:王者榮耀葬毫、摩拜單車、ofo斧散、知乎等等供常。它們都是采用oauth方案進(jìn)行登錄授權(quán)。


運(yùn)行原理

OAuth 2.0的運(yùn)行流程如下圖鸡捐,摘自RFC 6749栈暇。


運(yùn)行原理

(A)用戶打開(kāi)客戶端以后,客戶端要求用戶給予授權(quán)箍镜。
(B)用戶同意給予客戶端授權(quán)源祈。
(C)客戶端使用上一步獲得的授權(quán),向認(rèn)證服務(wù)器申請(qǐng)令牌色迂。
(D)認(rèn)證服務(wù)器對(duì)客戶端進(jìn)行認(rèn)證以后香缺,確認(rèn)無(wú)誤,同意發(fā)放令牌歇僧。
(E)客戶端使用令牌图张,向資源服務(wù)器申請(qǐng)獲取資源锋拖。
(F)資源服務(wù)器確認(rèn)令牌無(wú)誤,同意向客戶端開(kāi)放資源祸轮。

來(lái)自阮一峰老師

生活中的理解

王者榮耀登錄授權(quán)

oauth原理.png

說(shuō)明:圖中的第c兽埃、d、e适袜、f步驟都是后臺(tái)中完成柄错。


辦理身份證,買票去旅游


辦理身份證苦酱,買票去旅游

以上就是我對(duì)oauth的理解售貌,如有不對(duì)請(qǐng)大家指正。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疫萤,一起剝皮案震驚了整個(gè)濱河市颂跨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌给僵,老刑警劉巖毫捣,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件详拙,死亡現(xiàn)場(chǎng)離奇詭異帝际,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)饶辙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門蹲诀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人弃揽,你說(shuō)我怎么就攤上這事脯爪。” “怎么了矿微?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵痕慢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我涌矢,道長(zhǎng)掖举,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任娜庇,我火速辦了婚禮塔次,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘名秀。我一直安慰自己励负,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布匕得。 她就那樣靜靜地躺著继榆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上略吨,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天攒发,我揣著相機(jī)與錄音,去河邊找鬼晋南。 笑死惠猿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的负间。 我是一名探鬼主播偶妖,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼政溃!你這毒婦竟也來(lái)了趾访?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤董虱,失蹤者是張志新(化名)和其女友劉穎扼鞋,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體愤诱,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡云头,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淫半。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溃槐。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖科吭,靈堂內(nèi)的尸體忽然破棺而出昏滴,到底是詐尸還是另有隱情,我是刑警寧澤对人,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布谣殊,位于F島的核電站,受9級(jí)特大地震影響牺弄,放射性物質(zhì)發(fā)生泄漏姻几。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一猖闪、第九天 我趴在偏房一處隱蔽的房頂上張望鲜棠。 院中可真熱鬧,春花似錦培慌、人聲如沸豁陆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盒音。三九已至表鳍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間祥诽,已是汗流浹背譬圣。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雄坪,地道東北人厘熟。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像维哈,于是被迫代替她去往敵國(guó)和親绳姨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 最近發(fā)現(xiàn)公司里有很多人都不理解Oauth阔挠,而且目前國(guó)內(nèi)大部分的oauth實(shí)現(xiàn)也都是基于標(biāo)準(zhǔn)oauth2.0的改版飘庄,...
    monkey01閱讀 942評(píng)論 0 5
  • OAuth是一個(gè)關(guān)于授權(quán)(authorization)的開(kāi)放網(wǎng)絡(luò)標(biāo)準(zhǔn),在全世界得到廣泛應(yīng)用购撼,目前的版本是2.0版跪削。...
    謝謝寫(xiě)閱讀 747評(píng)論 0 1
  • http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 作者:...
    fu文彬閱讀 347評(píng)論 0 0
  • OAuth是一個(gè)關(guān)于授權(quán)(authorization)的開(kāi)放網(wǎng)絡(luò)標(biāo)準(zhǔn),在全世界得到廣泛應(yīng)用迂求,目前的版本是2.0版碾盐。...
    獵人1987閱讀 262評(píng)論 0 0
  • OAuth是一個(gè)關(guān)于授權(quán)(authorization)的開(kāi)放網(wǎng)絡(luò)標(biāo)準(zhǔn),在全世界得到廣泛應(yīng)用锁摔,目前的版本是2.0版廓旬。...
    常曉曉閱讀 778評(píng)論 0 0