oauth2.0概念怎么理解,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出余江免費(fèi)做網(wǎng)站回饋大家。
OAuth 2.0 是目前最流行的授權(quán)機(jī)制,用來(lái)授權(quán)第三方應(yīng)用,獲取用戶數(shù)據(jù)。
這個(gè)標(biāo)準(zhǔn)比較抽象,使用了很多術(shù)語(yǔ),初學(xué)者不容易理解。其實(shí)說(shuō)起來(lái)并不復(fù)雜,下面我就通過(guò)一個(gè)簡(jiǎn)單的類比,幫助大家輕松理解,OAuth 2.0 到底是什么。
我住在一個(gè)大型的居民小區(qū)。
小區(qū)有門禁系統(tǒng)。
進(jìn)入的時(shí)候需要輸入密碼。
我經(jīng)常網(wǎng)購(gòu)和外賣,每天都有快遞員來(lái)送貨。我必須找到一個(gè)辦法,讓快遞員通過(guò)門禁系統(tǒng),進(jìn)入小區(qū)。
我經(jīng)常網(wǎng)購(gòu)和外賣,每天都有快遞員來(lái)送貨。我必須找到一個(gè)辦法,讓快遞員通過(guò)門禁系統(tǒng),進(jìn)入小區(qū)。
如果我把自己的密碼,告訴快遞員,他就擁有了與我同樣的權(quán)限,這樣好像不太合適。萬(wàn)一我想取消他進(jìn)入小區(qū)的權(quán)力,也很麻煩,我自己的密碼也得跟著改了,還得通知其他的快遞員。
有沒(méi)有一種辦法,讓快遞員能夠自由進(jìn)入小區(qū),又不必知道小區(qū)居民的密碼,而且他的唯一權(quán)限就是送貨,其他需要密碼的場(chǎng)合,他都沒(méi)有權(quán)限?
于是,我設(shè)計(jì)了一套授權(quán)機(jī)制。
第一步,門禁系統(tǒng)的密碼輸入器下面,增加一個(gè)按鈕,叫做"獲取授權(quán)"??爝f員需要首先按這個(gè)按鈕,去申請(qǐng)授權(quán)。
第二步,他按下按鈕以后,屋主(也就是我)的手機(jī)就會(huì)跳出對(duì)話框:有人正在要求授權(quán)。系統(tǒng)還會(huì)顯示該快遞員的姓名、工號(hào)和所屬的快遞公司。
我確認(rèn)請(qǐng)求屬實(shí),就點(diǎn)擊按鈕,告訴門禁系統(tǒng),我同意給予他進(jìn)入小區(qū)的授權(quán)。
第三步,門禁系統(tǒng)得到我的確認(rèn)以后,向快遞員顯示一個(gè)進(jìn)入小區(qū)的令牌(access token)。令牌就是類似密碼的一串?dāng)?shù)字,只在短期內(nèi)(比如七天)有效。
第四步,快遞員向門禁系統(tǒng)輸入令牌,進(jìn)入小區(qū)。
有人可能會(huì)問(wèn),為什么不是遠(yuǎn)程為快遞員開(kāi)門,而要為他單獨(dú)生成一個(gè)令牌?這是因?yàn)榭爝f員可能每天都會(huì)來(lái)送貨,第二天他還可以復(fù)用這個(gè)令牌。另外,有的小區(qū)有多重門禁,快遞員可以使用同一個(gè)令牌通過(guò)它們。
我們把上面的例子搬到互聯(lián)網(wǎng),就是 OAuth 的設(shè)計(jì)了。
首先,居民小區(qū)就是儲(chǔ)存用戶數(shù)據(jù)的網(wǎng)絡(luò)服務(wù)。比如,微信儲(chǔ)存了我的好友信息,獲取這些信息,就必須經(jīng)過(guò)微信的"門禁系統(tǒng)"。
其次,快遞員(或者說(shuō)快遞公司)就是第三方應(yīng)用,想要穿過(guò)門禁系統(tǒng),進(jìn)入小區(qū)。
最后,我就是用戶本人,同意授權(quán)第三方應(yīng)用進(jìn)入小區(qū),獲取我的數(shù)據(jù)。
簡(jiǎn)單說(shuō),OAuth 就是一種授權(quán)機(jī)制。數(shù)據(jù)的所有者告訴系統(tǒng),同意授權(quán)第三方應(yīng)用進(jìn)入系統(tǒng),獲取這些數(shù)據(jù)。系統(tǒng)從而產(chǎn)生一個(gè)短期的進(jìn)入令牌(token),用來(lái)代替密碼,供第三方應(yīng)用使用。
令牌(token)與密碼(password)的作用是一樣的,都可以進(jìn)入系統(tǒng),但是有三點(diǎn)差異。
(1)令牌是短期的,到期會(huì)自動(dòng)失效,用戶自己無(wú)法修改。密碼一般長(zhǎng)期有效,用戶不修改,就不會(huì)發(fā)生變化。
(2)令牌可以被數(shù)據(jù)所有者撤銷,會(huì)立即失效。以上例而言,屋主可以隨時(shí)取消快遞員的令牌。密碼一般不允許被他人撤銷。
(3)令牌有權(quán)限范圍(scope),比如只能進(jìn)小區(qū)的二號(hào)門。對(duì)于網(wǎng)絡(luò)服務(wù)來(lái)說(shuō),只讀令牌就比讀寫(xiě)令牌更安全。密碼一般是完整權(quán)限。
上面這些設(shè)計(jì),保證了令牌既可以讓第三方應(yīng)用獲得權(quán)限,同時(shí)又隨時(shí)可控,不會(huì)危及系統(tǒng)安全。這就是 OAuth 2.0 的優(yōu)點(diǎn)。
注意,只要知道了令牌,就能進(jìn)入系統(tǒng)。系統(tǒng)一般不會(huì)再次確認(rèn)身份,所以令牌必須保密,泄漏令牌與泄漏密碼的后果是一樣的。這也是為什么令牌的有效期,一般都設(shè)置得很短的原因。
OAuth 2.0 對(duì)于如何頒發(fā)令牌的細(xì)節(jié),規(guī)定得非常詳細(xì)。具體來(lái)說(shuō),一共分成四種授權(quán)類型(authorization grant),即四種頒發(fā)令牌的方式,適用于不同的互聯(lián)網(wǎng)場(chǎng)景。
關(guān)于oauth2.0概念怎么理解問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。