中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

學(xué)校網(wǎng)站建設(shè)方案模板下載怎么制作公司網(wǎng)站

學(xué)校網(wǎng)站建設(shè)方案模板下載,怎么制作公司網(wǎng)站,網(wǎng)站快速建設(shè)入門(mén)教程,如何制作網(wǎng)站模板什么是OAuth2.0 OAuth(Open Authorization)是一個(gè)關(guān)于授權(quán)(authorization)的開(kāi)放網(wǎng)絡(luò)標(biāo)準(zhǔn),允許用戶(hù)授權(quán)第三方應(yīng)用訪問(wèn)他們存儲(chǔ)在另外的服務(wù)提供者上的信息,而不需要將用戶(hù)名和密碼提供給第三方移動(dòng)應(yīng)用或…

什么是OAuth2.0

OAuth(Open Authorization)是一個(gè)關(guān)于授權(quán)(authorization)的開(kāi)放網(wǎng)絡(luò)標(biāo)準(zhǔn),允許用戶(hù)授權(quán)第三方應(yīng)用訪問(wèn)他們存儲(chǔ)在另外的服務(wù)提供者上的信息,而不需要將用戶(hù)名和密碼提供給第三方移動(dòng)應(yīng)用或分享他們數(shù)據(jù)的所有內(nèi)容。OAuth在全世界得到廣泛應(yīng)用,目前的版本是2.0版

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-epDpCXAl-1677206513697)(images\20220904204200.jpg)]

用戶(hù)可以通過(guò)選擇其他登錄方式來(lái)使用gitee,這里就使用到了第三方認(rèn)證。

來(lái)自RFC 6749

OAuth 引入了一個(gè)授權(quán)層,用來(lái)分離兩種不同的角色:客戶(hù)端和資源所有者?!Y源所有者同意以后,資源服務(wù)器可以向客戶(hù)端頒發(fā)令牌。客戶(hù)端通過(guò)令牌,去請(qǐng)求數(shù)據(jù)。

為什么要使用OAuth2.0

在OAuth之前,HTTP Basic Authentication, 即用戶(hù)輸入用戶(hù)名,密碼的形式進(jìn)行驗(yàn)證, 這種形式是不安全的。OAuth的出現(xiàn)就是為了解決訪問(wèn)資源的安全性以及靈活性。OAuth使得第三方應(yīng)用對(duì)資源的訪問(wèn)更加安全。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-aY1j7Hx1-1677206513701)(images\20220904214709.jpg)]

小靜現(xiàn)在想要將手機(jī)云中的相冊(cè)美照,放置到QQ空間中展示,按照傳統(tǒng)方式小靜要怎么做呢?

  • 將照片從“手機(jī)云”中download下來(lái),在上傳到“QQ空間相冊(cè)”展示。
  • 下載/上傳太麻煩了,小靜可以直接把“云相冊(cè)”的賬號(hào)和密碼告訴“QQ空間”,由“QQ空間”下載照片在上傳。

對(duì)于上面的兩種方法,方法一太麻煩但是相對(duì)于小靜來(lái)說(shuō)是安全的;方法二對(duì)于小靜是比較方便,但是將賬號(hào)密碼告訴了“QQ空間”就相當(dāng)于把所有的“手機(jī)云”資料交給了它,這肯定是不可取的。

所以,為了解決類(lèi)似上面的問(wèn)題,Oauth協(xié)議誕生了。

OAuth2.0協(xié)議流程

應(yīng)用場(chǎng)景

  • 原生app授權(quán):app登錄請(qǐng)求后臺(tái)接口,為了安全認(rèn)證,所有請(qǐng)求都帶token信息,如果登錄驗(yàn)證、 請(qǐng)求后臺(tái)數(shù)據(jù)。
  • 前后端分離單頁(yè)面應(yīng)用:前后端分離框架,前端請(qǐng)求后臺(tái)數(shù)據(jù),需要進(jìn)行oauth2安全認(rèn)證
  • 第三方應(yīng)用授權(quán)登錄,比如QQ,微博,微信的授權(quán)登錄。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-jon1KTBw-1677206513702)(images\20220903225212.jpg)]

步驟解讀:

第1步:瀏覽器打開(kāi)Gitee碼云,點(diǎn)擊微信方式授權(quán)登錄,重定向到微信授權(quán)服務(wù)頁(yè)面等待獲取授權(quán)碼;

第2步:用戶(hù)打開(kāi)手機(jī)登錄微信掃描“二維碼”,點(diǎn)擊“允許”授權(quán),將重定向到客戶(hù)端(Gitee)應(yīng)用提供的URI;

第3步:客戶(hù)端(Gitee)使用上一步獲取的授權(quán)碼,向微信授權(quán)服務(wù)器申請(qǐng)令牌(Token);

第4步:微信授權(quán)服務(wù)器對(duì)客戶(hù)端(Gitee)進(jìn)行認(rèn)證以后,確認(rèn)無(wú)誤,同意發(fā)放令牌;

第5步:客戶(hù)端使用令牌向資源服務(wù)器(微信)申請(qǐng)獲取資源;

第6步:資源服務(wù)器(微信)確認(rèn)令牌無(wú)誤后,同意向客戶(hù)端開(kāi)放資源;

角色

  • Third-party application:第三方應(yīng)用程序,又稱(chēng)"客戶(hù)端"(client),即例子中的"Gitee"。
  • HTTP service:HTTP服務(wù)提供商,簡(jiǎn)稱(chēng)"服務(wù)提供商",即例子中的微信。
  • Resource Owner:資源所有者,又稱(chēng)"用戶(hù)",也就是你(user)。
  • User Agent:用戶(hù)代理,比如瀏覽器。
  • Authorization server:授權(quán)服務(wù)器,即服務(wù)提供商專(zhuān)門(mén)用來(lái)處理認(rèn)證授權(quán)的服務(wù)器。
  • Resource server:資源服務(wù)器,即服務(wù)提供商存放用戶(hù)生成的資源的服務(wù)器。它與授權(quán)服務(wù)器,可以是同一臺(tái)服務(wù)器,也可以是不同的服務(wù)器。

OAuth的作用就是讓"客戶(hù)端"安全可控地獲取"用戶(hù)"的授權(quán),與"服務(wù)提供商"進(jìn)行交互。

認(rèn)證流程

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-4e0sGtdE-1677206513704)(images\20220904223145.jpg)]

(A)用戶(hù)打開(kāi)客戶(hù)端以后,客戶(hù)端要求用戶(hù)給予授權(quán)。

(B)用戶(hù)同意給予客戶(hù)端授權(quán)。

(C)客戶(hù)端使用上一步獲得的授權(quán),向認(rèn)證服務(wù)器申請(qǐng)令牌。

(D)認(rèn)證服務(wù)器對(duì)客戶(hù)端進(jìn)行認(rèn)證以后,確認(rèn)無(wú)誤,同意發(fā)放令牌。

(E)客戶(hù)端使用令牌,向資源服務(wù)器申請(qǐng)獲取資源。

(F)資源服務(wù)器確認(rèn)令牌無(wú)誤,同意向客戶(hù)端開(kāi)放資源。

上面六個(gè)步驟之中,B是關(guān)鍵,即用戶(hù)怎樣才能給于客戶(hù)端授權(quán)。有了這個(gè)授權(quán)以后,客戶(hù)端就可以獲取令牌,進(jìn)而憑令牌獲取資源。

令牌的特點(diǎn)

  • 令牌又時(shí)效性,一般是短期的,且不能修改,密碼一般是長(zhǎng)期有效的
  • 令牌可以由頒發(fā)者撤銷(xiāo),且即時(shí)生效,密碼一般可以不用修改而長(zhǎng)期有效
  • 令牌可以設(shè)定權(quán)限的范圍,且使用者無(wú)法修改

在使用令牌時(shí)需要保證令牌的保密,令牌驗(yàn)證有效即可進(jìn)入系統(tǒng),不會(huì)再做其他的驗(yàn)證。

OAuth2.0授權(quán)模式

客戶(hù)端必須得到用戶(hù)的授權(quán)(authorization grant),才能獲得令牌(access token)。OAuth 2.0一共分成四種授權(quán)類(lèi)型(authorization grant)

  • 授權(quán)碼模式(authorization code)
  • 簡(jiǎn)化模式(implicit)
  • 密碼模式(resource owner password credentials)
  • 客戶(hù)端模式(client credentials)

授權(quán)碼模式和密碼模式比較常用。

授權(quán)碼模式

授權(quán)碼(authorization code)方式,指的是第三方應(yīng)用先申請(qǐng)一個(gè)授權(quán)碼,然后再用該碼獲取令牌。

這種方式是最常用的流程,安全性也最高,它適用于那些有后端的 Web 應(yīng)用。授權(quán)碼通過(guò)前端傳送,令牌則是儲(chǔ)存在后端,而且所有與資源服務(wù)器的通信都在后端完成。這樣的前后端分離,可以避免令牌泄漏。

適用場(chǎng)景:目前主流的第三方驗(yàn)證都是采用這種模式

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-lQJT248o-1677206513706)(images\b72d01fb2087d255aca6a25106add204.png)]

主要流程:

(A)用戶(hù)訪問(wèn)客戶(hù)端,后者將前者導(dǎo)向授權(quán)服務(wù)器。

(B)用戶(hù)選擇是否給予客戶(hù)端授權(quán)。

(C)用戶(hù)給予授權(quán),授權(quán)服務(wù)器將用戶(hù)導(dǎo)向客戶(hù)端事先指定的"重定向URI"(redirection URI),同時(shí)附上一個(gè)授權(quán)碼。

(D)客戶(hù)端收到授權(quán)碼,附上早先的"重定向URI",向授權(quán)服務(wù)器申請(qǐng)令牌。這一步是在客戶(hù)端的后臺(tái)的服務(wù)器上完成的,對(duì)用戶(hù)不可見(jiàn)。

(E)授權(quán)服務(wù)器核對(duì)了授權(quán)碼和重定向URI,確認(rèn)無(wú)誤后,向客戶(hù)端發(fā)送訪問(wèn)令牌(access token)和更新令牌(refresh token)。

請(qǐng)求示例:

  • (A)步驟:客戶(hù)端申請(qǐng)認(rèn)證的URI
https://www.example.com/v1/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_URL&scope=read&state=xxx

參數(shù)說(shuō)明:

參數(shù)類(lèi)型說(shuō)明
response_type授權(quán)類(lèi)型,必選項(xiàng),此處的值固定為"code"
client_id客戶(hù)端的ID,必選項(xiàng)
redirect_uri重定向URI,認(rèn)證服務(wù)器接受請(qǐng)求之后的調(diào)轉(zhuǎn)連接,可以根據(jù)這個(gè)連接將生成的授權(quán)碼回傳,必選項(xiàng)
scopecode發(fā)送給資源服務(wù)器申請(qǐng)的權(quán)限范圍,可選項(xiàng)
state任意值,認(rèn)證服務(wù)器會(huì)原樣返回,用于抵制CSRF(跨站請(qǐng)求偽造)攻擊。
  • (C)步驟:服務(wù)器回應(yīng)客戶(hù)端的URI
https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xxx

參數(shù)說(shuō)明:

參數(shù)類(lèi)型說(shuō)明
code授權(quán)碼,必選項(xiàng)。授權(quán)碼有效期通常設(shè)為10分鐘,一次性使用。該碼與客戶(hù)端ID、重定向URI以及用戶(hù),是一一對(duì)應(yīng)關(guān)系。
state原樣返回客戶(hù)端傳的該參數(shù)的值
  • (D)步驟:客戶(hù)端向認(rèn)證服務(wù)器申請(qǐng)令牌
https://www.example.com/v1/oauth/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=CALLBACK_URL

參數(shù)說(shuō)明:

參數(shù)類(lèi)型說(shuō)明
client_id表示客戶(hù)端ID,必選項(xiàng)
client_secret表示安全參數(shù),只能在后端發(fā)請(qǐng)求
grant_type表示使用的授權(quán)模式,必選項(xiàng),此處的值固定為"authorization_code"
code表示上一步獲得的授權(quán)碼,必選項(xiàng)
redirect_uri表示重定向URI,必選項(xiàng),且必須與A步驟中的該參數(shù)值保持一致
  • (E)步驟:響應(yīng)(D)步驟的數(shù)據(jù)
{ "access_token":訪問(wèn)令牌, "token_type":"bearer", "expires_in":過(guò)期時(shí)間, "refresh_token":"REFRESH_TOKEN", "scope":"read", "uid":用戶(hù)ID,"info":{...} 
}

參數(shù)說(shuō)明:

參數(shù)類(lèi)型說(shuō)明
access_token訪問(wèn)令牌,必選項(xiàng)
token_type令牌類(lèi)型,該值大小寫(xiě)不敏感,必選項(xiàng)
expires_in過(guò)期時(shí)間,單位為秒。如果省略該參數(shù),必須其他方式設(shè)置過(guò)期時(shí)間
refresh_token更新令牌,用來(lái)獲取下一次的訪問(wèn)令牌,可選項(xiàng)
scope權(quán)限范圍,如果與客戶(hù)端申請(qǐng)的范圍一致,此項(xiàng)可省略

**簡(jiǎn)化(隱式)**模式

有些 Web 應(yīng)用是純前端應(yīng)用,沒(méi)有后端。必須將令牌儲(chǔ)存在前端。RFC 6749 就規(guī)定了第二種方式,允許直接向前端頒發(fā)令牌,這種方式?jīng)]有授權(quán)碼這個(gè)中間步驟,所以稱(chēng)為(授權(quán)碼)“隱藏式”(implicit)

簡(jiǎn)化模式不通過(guò)第三方應(yīng)用程序的服務(wù)器,直接在瀏覽器中向授權(quán)服務(wù)器申請(qǐng)令牌,跳過(guò)了"授權(quán)碼"這個(gè)步驟,所有步驟在瀏覽器中完成,令牌對(duì)訪問(wèn)者是可見(jiàn)的,且客戶(hù)端不需要認(rèn)證。

這種方式把令牌直接傳給前端,是很不安全的。因此,只能用于一些安全要求不高的場(chǎng)景,并且令牌的有效期必須非常短,通常就是會(huì)話(huà)期間(session)有效,瀏覽器關(guān)掉,令牌就失效了。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-EUsMyBK4-1677206513707)(images\eb7786c4ee86e32d8049d7384e3c3084.png)]

(A)客戶(hù)端將用戶(hù)引導(dǎo)向認(rèn)證服務(wù)器。

(B)用戶(hù)決定是否給于客戶(hù)端授權(quán)。

(C)假設(shè)用戶(hù)給予授權(quán),認(rèn)證服務(wù)器將用戶(hù)導(dǎo)向客戶(hù)端指定的”重定向URI",并在URI的Hash部分包含了訪問(wèn)令牌。

(D)瀏覽器向資源服務(wù)器發(fā)出請(qǐng)求,其中不包括上一步收到的Hash值。

(E)資源服務(wù)器返回一個(gè)網(wǎng)頁(yè),其中包含的代碼可以獲取Hash值中的令牌。

(F)瀏覽器執(zhí)行上一步獲得的腳本,提取出令牌。

(G)瀏覽器將令牌發(fā)給客戶(hù)端。

密碼模式

如果你高度信任某個(gè)應(yīng)用,RFC 6749 也允許用戶(hù)把用戶(hù)名和密碼,直接告訴該應(yīng)用。該應(yīng)用就使用你的密碼,申請(qǐng)令牌,這種方式稱(chēng)為"密碼式"(password)。

在這種模式中,用戶(hù)必須把自己的密碼給客戶(hù)端,但是客戶(hù)端不得儲(chǔ)存密碼。這通常用在用戶(hù)對(duì)客戶(hù)端高度信任的情況下,比如客戶(hù)端是操作系統(tǒng)的一部分,或者由一個(gè)著名公司出品。而授權(quán)服務(wù)器只有在其他授權(quán)模式無(wú)法執(zhí)行的情況下,才能考慮使用這種模式。

適用場(chǎng)景:公司搭建的授權(quán)服務(wù)器

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-vCwUaLSP-1677206513708)(images\dd583dd0c4860ad42f7ff0026ead9a61.png)]

(A)用戶(hù)向客戶(hù)端提供用戶(hù)名和密碼。

(B)客戶(hù)端將用戶(hù)名和密碼發(fā)給認(rèn)證服務(wù)器,向后者請(qǐng)求令牌。

(C)認(rèn)證服務(wù)器確認(rèn)無(wú)誤后,向客戶(hù)端提供訪問(wèn)令牌。

客戶(hù)端模式

客戶(hù)端模式(Client Credentials Grant)指客戶(hù)端以自己的名義,而不是以用戶(hù)的名義,向"服務(wù)提供商"進(jìn)行 授權(quán)。

**適用于沒(méi)有前端的命令行應(yīng)用,即在命令行下請(qǐng)求令牌。**一般用來(lái)提供給我們完全信任的服務(wù)器端服務(wù)。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-LcBgamRU-1677206513710)(images\d26678b396cc68436fcda1319766aa49.png)]

(A)客戶(hù)端向認(rèn)證服務(wù)器進(jìn)行身份認(rèn)證,并要求一個(gè)訪問(wèn)令牌。

(B)認(rèn)證服務(wù)器確認(rèn)無(wú)誤后,向客戶(hù)端提供訪問(wèn)令牌。

http://m.risenshineclean.com/news/58517.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)功能是什么微信軟文案例
  • 慈云寺網(wǎng)站建設(shè)外鏈吧官網(wǎng)
  • 咨詢(xún)公司起名用字大全寧波seo關(guān)鍵詞培訓(xùn)
  • 短視頻營(yíng)銷(xiāo)推廣策略上海做網(wǎng)站優(yōu)化
  • 定制網(wǎng)站開(kāi)發(fā)一般多少錢(qián)百度搜索官方網(wǎng)站
  • 做粉絲網(wǎng)站會(huì)侵權(quán)嗎如何快速推廣網(wǎng)上國(guó)網(wǎng)
  • 免費(fèi)素材庫(kù)短視頻素材網(wǎng)站互動(dòng)營(yíng)銷(xiāo)名詞解釋
  • 接網(wǎng)站開(kāi)發(fā)的公司電話(huà)線(xiàn)上推廣是做什么的
  • 南寧企業(yè)網(wǎng)站建設(shè)包頭整站優(yōu)化
  • 網(wǎng)站建設(shè)上機(jī)考試怎么找一手app推廣代理
  • 網(wǎng)頁(yè)與網(wǎng)站設(shè)計(jì)什么是整體造型如何檢測(cè)網(wǎng)站是否安全
  • 做網(wǎng)站的目的什么網(wǎng)站可以發(fā)布廣告
  • 成都三合一網(wǎng)站建設(shè)蘇州網(wǎng)絡(luò)公司
  • 做網(wǎng)站用的什么服務(wù)器優(yōu)秀企業(yè)網(wǎng)站模板
  • github 可以做網(wǎng)站嗎如何創(chuàng)建網(wǎng)站教程
  • 佛山免費(fèi)網(wǎng)站制作百度排名點(diǎn)擊器
  • 國(guó)外做機(jī)械設(shè)計(jì)任務(wù)的網(wǎng)站求職seo
  • 個(gè)人網(wǎng)站可以做資訊嗎?網(wǎng)絡(luò)推廣課程培訓(xùn)
  • 潁州網(wǎng)站建設(shè)最近新聞?wù)?/a>
  • 優(yōu)惠購(gòu)網(wǎng)站怎么做的青島網(wǎng)站建設(shè)與設(shè)計(jì)制作
  • 佛山做公司網(wǎng)站地推項(xiàng)目平臺(tái)
  • 做動(dòng)態(tài)文字的網(wǎng)站杭州網(wǎng)站定制
  • 做網(wǎng)站建設(shè)的公司有哪些方面建設(shè)網(wǎng)站公司
  • 教育網(wǎng)站如何做seo網(wǎng)絡(luò)運(yùn)營(yíng)團(tuán)隊(duì)
  • 域名怎樣連接到網(wǎng)站外貿(mào)推廣哪個(gè)公司好
  • 網(wǎng)站地圖制作怎么做?360網(wǎng)站排名優(yōu)化
  • 電影網(wǎng)站做seo愛(ài)站關(guān)鍵詞
  • 網(wǎng)站seo設(shè)計(jì)百度手機(jī)助手app
  • 做網(wǎng)站的術(shù)語(yǔ)域名注冊(cè)平臺(tái)哪個(gè)好
  • 一個(gè)大佬做的本子網(wǎng)站專(zhuān)業(yè)seo站長(zhǎng)工具