溫馨提示×

溫馨提示×

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

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

SpringBootSecurity中什么是OAuth2.0令牌中繼

發(fā)布時間:2021-09-28 09:54:19 來源:億速云 閱讀:108 作者:柒染 欄目:大數(shù)據(jù)

SpringBootSecurity中什么是OAuth2.0令牌中繼,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

增加Eureka

前面介紹的項目都是授權服務和資源服務單獨兩個,這樣在資源服務中的 check_token 地址都是寫死的地址 :

SpringBootSecurity中什么是OAuth2.0令牌中繼

下面我們把eureka加上,這樣就可以直接用服務名了。eureka服務的搭建不再討論,在服務中加eureka只需要改兩個地方,就是加依賴和修改配置:

SpringBootSecurity中什么是OAuth2.0令牌中繼

增加配置如下:

SpringBootSecurity中什么是OAuth2.0令牌中繼

然后就可以把資源服務中的固定ip改為服務名:

SpringBootSecurity中什么是OAuth2.0令牌中繼

增加令牌中繼

從授權服務獲取令牌以后,直接訪問一個資源服務是沒有問題的,但是如果資源服務又去調用其它資源服務,就會產(chǎn)生一個問題,就是令牌無法自動往下傳遞。要實現(xiàn)令牌中繼我們就需要寫一個攔截器,將token放到請求的header中。

首先在服務中增加feign組件:

SpringBootSecurity中什么是OAuth2.0令牌中繼

增加注解 @EnableFeignClients :

SpringBootSecurity中什么是OAuth2.0令牌中繼

注意上面的依賴和注解調用方和被調用方都要增加。然后在被調用方寫一個接口:

SpringBootSecurity中什么是OAuth2.0令牌中繼

在調用方使用feign調用:

SpringBootSecurity中什么是OAuth2.0令牌中繼

然后在調用方寫一個測試接口:

SpringBootSecurity中什么是OAuth2.0令牌中繼

現(xiàn)在直接申請令牌,然后訪問調用方測試接口,會出現(xiàn)如下401錯誤:

SpringBootSecurity中什么是OAuth2.0令牌中繼

下面在調用方增加一個攔截器,在header中增加令牌:

SpringBootSecurity中什么是OAuth2.0令牌中繼

測試

下面直接申請令牌,訪問調用方的測試接口,可以看到令牌中繼的結果:

SpringBootSecurity中什么是OAuth2.0令牌中繼

看完上述內容,你們掌握SpringBootSecurity中什么是OAuth2.0令牌中繼的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

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

AI