當前位置:編程學習大全網 - 源碼下載 - 使用 JWT 來實現對 API 的授權訪問

使用 JWT 來實現對 API 的授權訪問

JWT(JSON Web Token)是壹個開放標準(RFC 7519),它定義了壹種緊湊且獨立的方式,可以在各個系統之間用JSON作為對象安全地傳輸信息,並且可以保證所傳輸的信息不會被篡改。

JWT通常有兩種應用場景:

本文討論第壹點,如何利用JWT來實現對API的授權訪問。這樣就只有經過授權的用戶才可以調用API。

img

JWT由三部分組成,用.分割開。

Header

第壹部分為Header,通常由兩部分組成:令牌的類型,即JWT,以及所使用的加密算法。

Base64加密後,就變成了:

Payload

第二部分為Payload,裏面可以放置自定義的信息,以及過期時間、發行人等。

Base64加密後,就變成了:

Signature

第三部分為Signature,計算此簽名需要四部分信息:

接受到JWT後,利用相同的信息再計算壹次簽名,然年與JWT中的簽名對比,如果不相同則說明JWT中的內容被篡改。

解碼後的JWT

img

將上面三部分都編碼後再合在壹起就得到了JWT。

需要註意的是, JWT的內容並不是加密的,只是簡單的Base64編碼。 也就是說,JWT壹旦泄露,裏面的信息可以被輕松獲取,因此不應該用JWT保存任何敏感信息。

img

引入依賴

這裏使用了壹個叫JJWT(Java JWT)的庫。

JWT Service

生成JWT

解碼JWT

驗證JWT

註冊/登錄

驗證JWT

API

這時候API就處於JWT的保護下了。API可以完全不用感知到JWT的存在,同時也可以主動獲取JWT並解碼,以得到JWT裏的信息。如上所示。

搜索微信號(ID:芋道源碼),可以獲得各種 Java 源碼解析。

並且,回復書籍後,可以領取筆者推薦的各種 Java 從入門到架構的書籍。

  • 上一篇:學習java可以幹嘛?
  • 下一篇:什麽是NT內核?
  • copyright 2024編程學習大全網