使用springcloudoauth2實現(xiàn)用戶認(rèn)證登錄-創(chuàng)新互聯(lián)

這篇文章運(yùn)用簡單易懂的例子給大家介紹使用spring cloud oauth2 實現(xiàn)用戶認(rèn)證登錄,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)建站基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供達(dá)州服務(wù)器托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

OAuth3

OAuth3是一個關(guān)于授權(quán)的網(wǎng)絡(luò)標(biāo)準(zhǔn),他定制了設(shè)計思路和執(zhí)行流程。OAuth3一共有四種授權(quán)模式:授權(quán)碼模式(authorization code)、簡化模式(implicit)、密碼模式(resource owner password)和客戶端模式(client credentials)。數(shù)據(jù)的所有者告訴系統(tǒng)同意授權(quán)第三方應(yīng)用進(jìn)入系統(tǒng),獲取這些數(shù)據(jù)。于是數(shù)據(jù)所有者生產(chǎn)了一個短時間內(nèi)有效的授權(quán)碼(token)給第三方應(yīng)用,用來代替密碼,供第三方使用。具體流程請看下圖,具體的OAuth3介紹,可以參考這篇文章,寫的很詳細(xì)。(https://www.jb51.net/article/198292.htm)

使用spring cloud oauth2 實現(xiàn)用戶認(rèn)證登錄

Token

令牌(token)和密碼(password)的作用是一樣的,都可以進(jìn)入系統(tǒng)獲取資源,但是也有幾點不同:

  1. 令牌是短期的,到期會自動失效,用戶無法修改。密碼是長期的,用戶可以修改,如果不修改,就不會發(fā)生變化。
  2. 令牌可以被數(shù)據(jù)所有者撤銷,令牌會立即失效。密碼一般不允許其他人撤銷,只能被操作權(quán)限更高的人或者本人修改/重制。
  3. 令牌是有權(quán)限范圍的,會被數(shù)據(jù)所有者授予。

實現(xiàn)的功能

本篇介紹的是通過密碼模式來實現(xiàn)單點登錄的功能。

​ 在微服務(wù)架構(gòu)中,我們的一個應(yīng)用可能會有很多個服務(wù)運(yùn)行,協(xié)調(diào)來處理實際的業(yè)務(wù)。這就需要用到單點登錄的技術(shù),來統(tǒng)一認(rèn)證調(diào)取接口的是哪個用戶。那總不能請求一次,就認(rèn)證一次,這么做肯定是不行的。那么就需要在認(rèn)證完用戶之后,給這個用戶授權(quán),然后發(fā)一個令牌(token),有效期內(nèi)用戶請求資源時,就只需要帶上這個標(biāo)識自己身份的token即可。

架構(gòu)說明
認(rèn)證中心:oauth3-oauth-server,OAuth3的服務(wù)端,主要完成用戶Token的生成、刷新、驗證等。

微服務(wù):mzh-etl,微服務(wù)之一,接收到請求之后回到認(rèn)證中心(oauth3-oauth-server)去驗證。

代碼實現(xiàn)

使用到的框架是java基礎(chǔ)的spring boot 和spring-cloud-oauth3

認(rèn)證中心:

1、引入需要的maven包

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-oauth3</artifactId>
</dependency>
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

新聞標(biāo)題:使用springcloudoauth2實現(xiàn)用戶認(rèn)證登錄-創(chuàng)新互聯(lián)
文章來源:http://muchs.cn/article8/dpeoop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈域名注冊、定制開發(fā)、移動網(wǎng)站建設(shè)、品牌網(wǎng)站制作ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營