溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

OAuth3.0有哪些授權(quán)模式和應(yīng)用場景

發(fā)布時(shí)間:2021-08-21 17:43:59 來源:億速云 閱讀:990 作者:小新 欄目:編程語言

這篇文章主要介紹OAuth3.0有哪些授權(quán)模式和應(yīng)用場景,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

OAuth3.0幾種授權(quán)模式和場景應(yīng)用

1、什么是OAuth3.0

OAuth3.0是一個(gè)開放協(xié)議,允許用戶讓第三方應(yīng)用以安全且標(biāo)準(zhǔn)的方式獲取該用戶在某一網(wǎng)站、移動或桌面應(yīng)用上存儲的私密的資源(如用戶個(gè)人信息、照片、視頻、聯(lián)系人列表),而無需將用戶名和密碼提供給第三方應(yīng)用。

OAuth3.0致力于使客戶端開發(fā)者通過更簡單的流程為Web應(yīng)用、桌面應(yīng)用以及手機(jī)客戶端等設(shè)備進(jìn)行授權(quán)。2012年10月,OAuth3.0協(xié)議正式發(fā)布為RFC6749。目前各大開放平臺,如騰訊、新浪、百度等等也都是以O(shè)Auth3.0協(xié)議作為支撐。

2、OAuth3.0的幾種授權(quán)類型

 授權(quán)許可是表示客戶用來獲取訪問令牌的資源所有者授權(quán)的憑證。此規(guī)范協(xié)議規(guī)定了4種授權(quán)類型: 

1、授權(quán)碼模式(authorization code): 標(biāo)準(zhǔn)的Server授權(quán)模式,非常適合Server端的Web應(yīng)用。一旦資源的擁有者授權(quán)訪問他們的數(shù)據(jù)之后,他們將會被重定向到Web應(yīng)用并在URL的查詢參數(shù)中附帶一個(gè)授權(quán)碼(code)。在客戶端里,該code用于請求訪問令牌(access_token)。并且該令牌交換的過程是兩個(gè)服務(wù)端之前完成的,防止其他人甚至是資源擁有者本人得到該令牌。另外,在該授權(quán)模式下可以通過refresh_token來刷新令牌以延長訪問授權(quán)時(shí)間。

2、簡化模式(implicit grant type): 該模式是所有授權(quán)模式中最簡單的一種,并為運(yùn)行于瀏覽器中的腳本應(yīng)用做了優(yōu)化。當(dāng)用戶訪問該應(yīng)用時(shí),服務(wù)端會立即生成一個(gè)新的訪問令牌(access_token)并通過URL的#hash段傳回客戶端。這時(shí),客戶端就可以利用JavaScript等將其取出然后請求API接口。該模式不需要授權(quán)碼(code),當(dāng)然也不會提供refresh token以獲得長期訪問的入口。

3、 密碼模式(resource owner password credentials):這種模式要求用戶提供用戶名和密碼來交換訪問令牌(access_token)。該模式僅用于非常值得信任的用戶,例如API提供者本人所寫的移動應(yīng)用。雖然用戶也要求提供密碼,但并不需要存儲在設(shè)備上。因?yàn)槌跏简?yàn)證之后,只需將OAuth的令牌記錄下來即可。如果用戶希望取消授權(quán),因?yàn)槠湔鎸?shí)密碼并沒有被記錄,因此無需修改密碼就可以立即取消授權(quán)。token本身也只是得到有限的授權(quán),因此相比最傳統(tǒng)的username/password授權(quán),該模式依然更為安全。

4、客戶端模式(Client Credentials Grant):一種基于APP的密鑰直接進(jìn)行授權(quán),因此APP的權(quán)限非常大。它適合像數(shù)據(jù)庫或存儲服務(wù)器這種對API的訪問需求。

3、什么場景下會用到OAuth3.0授權(quán)

OAuth3.0定義了四種模式,覆蓋了所有的授權(quán)應(yīng)用場景:1、授權(quán)碼模式(authorization code),2、簡化模式(implicit),3、密碼模式(resource owner password credential ,4、客戶端模式(client credentials)

場景一:

目前我們大多數(shù)的應(yīng)用場景,也是我們最熟悉的使用環(huán)境就是使用第三方登錄,如:微博,QQ,微信,豆瓣等社交平臺登錄,互聯(lián)網(wǎng)發(fā)展到今天,我們也都習(xí)慣了這種登錄方式,最大的好處就是便捷,簡化了我們一系列的注冊流程,還有一大堆帳號密碼記不住的困擾,當(dāng)你碰到一個(gè)不支持第三方登錄的網(wǎng)站或者應(yīng)用的時(shí)候,第一感覺就是厭惡,一頓噴。人永遠(yuǎn)離不開社交,所以通過社交平臺去登錄其他的平臺,無疑是最受大家歡迎的方式了 。這種場景下你應(yīng)該選擇模式1

場景二:

你自己實(shí)現(xiàn)了一套webApi,想供自己的客戶端調(diào)用,又想做認(rèn)證。這種場景下你應(yīng)該選擇模式3或者4,特別是當(dāng)你的的客戶端是js+html應(yīng)該選擇3,當(dāng)你的客戶端是移動端(ios應(yīng)用之類)可以選擇3,也可以選擇4。

以上是“OAuth3.0有哪些授權(quán)模式和應(yīng)用場景”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI