Java | java-jwt
上次介紹了Golang的JWT程式庫,這次介紹Java的JWT程式庫,之後再來發JWT結合SpringSecurity在RESTfulAPI的應用!如何選擇好的JWT庫事實上,JWT官網首頁就有提供許多程式語言開源的JWT程式庫,還很貼心地列出該程式庫有提供哪些功能,例如實作了哪些JWT加密演算法及在驗證JWT上有提供哪些檢查。此外,還提供了GitHub網址及Star數量,畢竟開源庫的Star數量可以保證一定的品質。這次我們選擇JJWT:這是一個比較知名的JavaJWT庫,在上面可以看到它提供了哪些演算法跟check的支援。此次示範就使用該程式庫。先說用完的感想,我覺得很好用!...
上次介紹了 Golang 的 JWT 程式庫,這次介紹 Java 的 JWT 程式庫,之後再來發 JWT 結合 Spring Security 在 RESTful API 的應用!
如何選擇好的 JWT 庫事實上,JWT 官網首頁就有提供許多程式語言開源的 JWT 程式庫,還很貼心地列出該程式庫有提供哪些功能,例如實作了哪些 JWT 加密演算法及在驗證 JWT 上有提供哪些檢查。此外,還提供了 GitHub 網址及 Star 數量,畢竟開源庫的 Star 數量可以保證一定的品質。
這次我們選擇 JJWT:
這是一個比較知名的 Java JWT 庫,在上面可以看到它提供了哪些演算法跟 check 的支援。此次示範就使用該程式庫。
先說用完的感想,我覺得很好用!文件清楚,核發跟驗證 JWT 的流程也很直覺。
JJWT 程式庫示範這次用一個純 Java 專案來示範即可,不涉及 RESTful API 的設計。
專案名稱:jwt-demo
Note:因為程式庫只提供 maven、grandle 的方式來安裝程式庫,因此建議用 maven 及 grandle 的方式創立專案,此次示範是用 maven。
建立一個 Main.java,直接來看我寫的程式碼:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import io.github.cdimascio.dotenv.Dotenv;import io.jsonwebtoken.*;import io.jsonwebtoken.security.Keys;import io.jsonwebtoken.security.SignatureException;import java.security.Key;import java.security.KeyPair;import java.util.Calendar;import java.util.Date;import java.util....