springcloudoauth3整合JWT后獲取用戶信息不全怎么辦

本篇內容主要講解“spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦”吧!

創(chuàng)新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站建設、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的洛寧網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

oauth3整合JWT完成后,發(fā)現獲取當前認證用戶信息(Principal)時只獲取到用戶名稱,沒有其他的信息

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

看了一下oauth3源碼,通過分析oauth3加載TokenStore找到解決方案。

oauth3會在DefaultUserAuthenticationConverter下提取認證用戶,并給Principal進行賦值

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

因為userDetailsService沒有被注入進去,所以獲取的Principal的值只有“admin”。問題是什么時候注入userDetailsService

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

userDetailsService是當前類的屬性,這就好辦了。

接著看這個類DefaultAccessTokenConverter,這個類定義了DefaultUserAuthenticationConverter,并調用了DefaultUserAuthenticationConverter.extractAuthentication的方法

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

看到這里我們發(fā)現,找到這個類DefaultAccessTokenConverter的注入就可以了。

接下來是這個類JwtAccessTokenConverter,這里定義了DefaultAccessTokenConverter,調用了DefaultAccessTokenConverter.extractAuthentication的方法,是不是感覺和上一個套路一樣。

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

JwtTokenStore大家應該很熟悉,就是定義了JwtAccessTokenConverter,并調用JwtAccessTokenConverter.extractAuthentication但是沒有具體實現,可以通過構造方法進行注入。

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

看到這里就找到了userDetailsService應該怎么注入進去了。另外,大家也可以關注一下這個類的另一個方法

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

其實是這個方法調用的上個方法,這個方法被調用在在DefaultTokenServices這個類里

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

打開這個類DefaultTokenServices看看,你就會發(fā)現這個類定義了token的一些基本功能

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

最后看一下效果

spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦

到此,相信大家對“spring cloud oauth3整合JWT后獲取用戶信息不全怎么辦”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

當前題目:springcloudoauth3整合JWT后獲取用戶信息不全怎么辦
路徑分享:http://muchs.cn/article12/ipiigc.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站改版、域名注冊、靜態(tài)網站、面包屑導航、品牌網站建設、小程序開發(fā)

廣告

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

網站托管運營