JWT 使用 nimbus-jose-jwt 進行解碼

2021-01-18 CWIKIUS

在程序中獲得 JWT 的Token 代碼後,可以對 JWT 進行解碼。

常用的可以使用 OAuth0 提供的解碼包,你也可能會使用 nimbus-jose-jwt 包。

Maven 配置參數為:

<dependency>

<groupId>com.nimbusds</groupId>

<artifactId>nimbus-jose-jwt</artifactId>

<version>9.0.1</version>

</dependency>

首先你需要有準確可以解碼的 JWT。

然後將這個 JWT 轉換為 SignedJWT

SignedJWT sjwt = SignedJWT.parse(token);

然後你可以使用下面的代碼獲得所有的 claims。nimbus-jose-jwt 返回的結果是 set。隨後你就可以根據返回的 Set 去查詢你需要的內容了。

請注意,有時候返回的內容可能是不同的數據格式,你可能需要轉換。

比如說我們這裡是 roles,nimbus-jose-jwt 返回的是 JSONArray。

如果你不能確定返回的 set 存儲的是什麼數據類型,你可以使用 IJ 的調試窗口看看,就知道怎麼去定義數據類型了。

如這個例子,我們使用的 JWT 通過查看為下面的情況。

我們需要返回 roles 的結構,因此我們需要轉換為 JSONArray 數據類型。

完整的測試代碼為:

@Test

public void claimsValueTest() {

String token = "eyJ0eXAiOiJKV1QiLC"; //Change your Token

try {

SignedJWT sjwt = SignedJWT.parse(token);

JWTClaimsSet claims = sjwt.getJWTClaimsSet();

JSONArray groups = (JSONArray) claims.getClaim("roles");

logger.debug("roles - {}", groups.toJSONString());

} catch (Exception e) {

e.printStackTrace();

}

}

}

上面的測試代碼,將會有下面的輸出內容:

17:43:24.431 [main] DEBUG com.ossez.jwt.JWTTest - roles - ["3343f157-c768-4b31-95ad-3f81487914d1","0e287

相關焦點

  • 被壓縮的視覺:視頻編解碼技術
    如圖3所示,將輸入的視頻信息按照各個編碼模塊進行處理,輸出碼流的過程稱為視頻編碼過程,再通過對應的熵解碼、變換解碼和預測解碼過程,將碼流還原成YUV420視頻流的過程稱為視頻解碼過程。可以將視頻編解碼的過程看作是壓縮和解壓縮的過程,但在該過程中,由於壓縮的算法有所差異,所以解碼的算法必須對應著編碼的算法,不同的編解碼算法稱為視頻標準。
  • python字符的編碼與解碼
    0b 開頭表示二進位,0o表示八進位,0x表示十六進位,通過內置進位函數可以想互進行轉換。Hello這樣的一個詞語要被計算機認識,只要按照ASCII編碼來就可以了。 對應的16進位編碼是:48 65 6C 6C 6F編碼的種類百科知識:在英語中,用128個符號編碼便可以表示所有,但是用來表示其他語言,128個符號是不夠的。
  • Java經典算法:解碼方式
    使用以下映射將包含來自AZ的字母的消息編碼為數字:'A'->1'B'-> 2...'Z'-> 26給定包含數字的已編碼消息,請確定對其進行解碼的總數。Java解決方案通過使用動態編程可以解決此問題。這類似於計算爬樓梯方式的問題。關係是dp[n]=dp[n-1]+dp[n-2]。
  • Web安全:編解碼工具
    Web安全:編解碼工具 編碼是信息從一種形式轉換為另一種形式的過程,例如URL編碼、Base64編碼及十六進位編碼等。也指將編碼後的字符或者字符串還原為信息的過程,如解碼與編碼互逆。現在常用的編碼、解碼工具有XSSEncode、小葵多功能轉換工具等。
  • 增城沿江西路大批老人購買「解碼資料」,背後的真相是...
    令記者想不到的是不少老年街坊信以為真紛紛掏錢購買買賣地下六合彩是非法行為「資料員」的「解碼資料」真能解碼?   記者來到了一處賣《六合天機指津》書籍的地攤旁,「資料員」正在給街坊講解了如何使用該資料,所講的預測和規律都比較簡單,只需要會加減法和看圖,就能預測下一期的「平碼」或「特碼」。
  • 揭秘第33屆中國電影金雞獎頒獎典禮是如何進行線上直播的?
    音視頻通信的整個流程包括:採集,編碼,推流,轉碼,存儲,拉流,解碼,渲染(播放)。 3.播放 【採集和渲染】音視頻信息是從通話的發起端,通過專業的攝像頭和麥克風分別採集音視頻數據;在通話的接收端進行語音和視頻的渲染。
  • 《印象》:宿新寶·做歷史建築的「解碼人」
    由於園區內老建築非常多,在進行修繕前的第一步,就是進行留改拆的甄別。哪些房子還有價值,哪些房子沒有價值,哪些要拆掉,哪些要保留,保留下來之後怎麼進行保護或改造。進行甄別以後,就要對歷史保護建築按照相關規定進行修繕,而對於那些不是保護建築身份的房子,也就是上世紀60年代、70年代、80年代,以及2016年改造過的房子,設計團隊並沒有一刀切地進行處理,而是選擇保留其建築的時代性和多樣性。比如嵌著綠色玻璃的水刷石外立面,這是上世紀80年代特有的一種建築形式,體現了那個年代的工藝、審美和喜好,它們就像是時代的切片,能夠讓人看到每個時代建築的特點。
  • 【健康解碼】中醫教你認識「六氣」
    【欄目簡介】        《健康解碼》是新華網大型原創健康科普視頻欄目。關注大眾保健意識,倡導健康智慧生活。欄目邀請各大三甲級醫院、權威機構專家錄製,從健康生活方式、疾病早診早治、養生誤區解讀、科學保健知識等多個角度進行系統解讀,輕鬆幽默,深入淺出。
  • 宅家4K HDR 觀影的正確姿勢:當貝超級盒子解碼實戰體驗
    我家沒有預先鋪線,所以投影那邊主要是使用小米盒子 3 代增強版進行 5G WiFi 接入及 NAS 資源讀取。但小米盒子 3 代增強版不支持 4K HDR,支持的小米盒子 4 代性能又跟不上,這個就很麻煩了。畢竟在我心目中,4K HDR 起碼值 2 千塊大洋啊!想到我的明基 TK800M 有輸出能力,卻不能看 HDR 資源,我感覺心口都在隱隱作痛。
  • 17位院士近200位專家「解碼」生命奧秘,《解碼生命》(第二版)新書...
    實習記者 陳楊2020年12月30日,《解碼生命:從多視角看生命》(第二版)新書發布會暨上海交通大學Bio-X研究院二十周年慶典在上海交通大學徐匯校區Bio-X研究院舉行。《解碼生命:從多視角看生命》(第二版)一書由中國科學院院士、上海交通大學Bio-X研究院院長賀林教授領銜主編。本書包括了17位院士團隊的工作成果介紹,雲集了近200位在生命科學研究和應用領域耕耘多年的國內外知名專家和學者。
  • 《解碼遊戲》主題曲MV破億!陳立農被邀參演續集
    《解碼遊戲》發布了陳立農單人海報。陳立農憑藉顏藝俱佳的出眾魅力和對歌曲富有張力的詮釋,也受到了《解碼遊戲》片方的讚賞,製片人陳熙瑢認為「陳立農很年輕,有青春的爆發力,無論演出還是演唱,這個男孩都能帶動起觀眾的熱血」,近日,陳熙瑢也表示有意邀請陳立農參演電影《解碼遊戲》續集。
  • 「健康解碼」左眼跳財?這可能是疾病的預兆!
    如果想要進行進一步地診斷,則可以通過核磁共振先排除腦部疾病引起的面部痙攣現象,再通過電生理檢查的手段探查到興奮性增高的面部神經電位。關宇光介紹,如果發現自己患上了面肌痙攣,目前主流的治療方法有三種。首先是藥物治療,不過目前藥物治療面肌痙攣的療效較為有限,一般針對症狀輕微或是早期患者使用。
  • 解碼晶片對聽感有決定權?#HIFI大家問#
    答:解碼晶片即DAC,含義是「數模轉換器」。  目前的數字聽音系統,主要由四部分構成:數字轉盤->解碼->耳放->耳機,  分別起到數位訊號存讀取->數位訊號轉換成模擬信號->模擬信號整流放大->揚聲器單元振動發聲四個作用。
  • 一把打開漢字書寫奧妙之門的鑰匙——楊景舒的《漢字書寫解碼》
    楊景舒通過對漢字及漢字書寫史的生發原理溯源,和對漢字形體結構演變史進行十數年的統計學歸納,解剖學探微,數理學分析,發現性釐清了漢字書、寫的內在邏輯關係,找到了促進二者和諧互動的科學方法,並將這一發現成果在理論層面提升為可推廣普及的和應用性極強的通俗讀物,實為功德之事。博採眾長,豐富厚實,吸收辨析,推陳出新,是本書鮮明的特色。
  • 音頻解碼器的作用與使用方式
    解碼器的作用就是講這些我們原本無法看到的和聽到的數位訊號轉換為可供人識別的模擬信號;在音頻設備中,解碼器同樣起著至關重要的作用,在從數位訊號轉換為模擬信號的過程中,解碼器的質量直接決定輸出的模擬信號所發出來的質量,同時也決定最終聲音的質量效果;因此,解碼越好,得到的聲音效果也會越好。
  • 康緣藥業董事長肖偉:「解碼中藥」,為臨床醫生提供最有效中成藥
    康緣藥業董事長肖偉:「解碼中藥」,為臨床醫生提供最有效中成藥 2020-10-09 16:00 來源:澎湃新聞·澎湃號·媒體
  • Mozilla Firefox瀏覽器默認開啟AVIF圖片解碼功能
    之前曾有報導稱Mozilla Firefox準備默認啟用AVIF圖像解碼,現在假期已過,Mozilla的開發者們也回到了自己的工作檯前,今天Firefox已經默認啟用了AVIF。 從Google的Chrome 85開始就已經默認啟用了AVIF支持,而Firefox的支持雖然已經開發完成,但暫時是默認禁用的。
  • 解碼央行數字貨幣丨蘇州:10萬個數字人民幣紅包有何突破
    在12月8日,由北京商報社、北商研究院出品的《解碼央行數字貨幣》正式發布,從地方試點篇、監管篇、個人篇、支付篇、機構篇、場景篇、資本市場篇、清算篇、跨境篇、全球篇等10個維度出發,全景解碼央行數字貨幣,並對後續走向進行分析預測。」繼深圳之後,蘇州版「數字人民幣消費紅包」也來了。
  • 解碼生命:從多視角看生命
    作為我國第一本系統介紹人類基因組計劃的書籍,第一版《解碼生命》出版至今,已有20年之久。在過去的年歲裡,後續進展令人眼花繚亂,人類正在認識自我的徵程上大步前進,因此又到了對「解碼生命」進行總結和展望的時候。
  • 2019年2月27日~3月3日《易經智慧.數字解碼》弟子班於廣州開課
    《數字解碼》是利用十二地支,簡單的12個數字進行天人地三大磁場的奧秘開發,直觀、簡單、快捷、準確地推斷預測各類事物,不僅可以輕鬆地預測事業、官運、婚姻、疾病、性格、人際、傷災及居家風水環境,尋人找物、子女健康、學業等諸多社會現象,並傳授解災絕招並收到神奇的效果。老師網絡為有緣人預測