添加JWT工具包
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>0.10.5</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>0.10.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>0.10.5</version>
<scope>runtime</scope>
</dependency>
代码
public class JwtTest {
// 公钥
public static String publicKey = "-----BEGIN CERTIFICATE-----\n" +
"MIIDmzCCAoOgAwIBAgIEHnAgtDANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJDQTEQMA4GA1UE\n" +
"CBMHT250YXJpbzEUMBIGA1UEBxMLTWlzc2lzc2F1Z2ExJjAkBgNVBAoTHU5ldHdvcmsgTmV3IFRl\n" +
"Y2hub2xvZ2llcyBJbmMuMQwwCgYDVQQLEwNERVYxETAPBgNVBAMTCFN0ZXZlIEh1MB4XDTE2MDkw\n" +
"MTE2MTYxNVoXDTI2MDcxMTE2MTYxNVowfjELMAkGA1UEBhMCQ0ExEDAOBgNVBAgTB09udGFyaW8x\n" +
"FDASBgNVBAcTC01pc3Npc3NhdWdhMSYwJAYDVQQKEx1OZXR3b3JrIE5ldyBUZWNobm9sb2dpZXMg\n" +
"SW5jLjEMMAoGA1UECxMDREVWMREwDwYDVQQDEwhTdGV2ZSBIdTCCASIwDQYJKoZIhvcNAQEBBQAD\n" +
"ggEPADCCAQoCggEBALrlxMtDb60DogElf4TBz504tRheZimAE0dJL/Yby4nacJdqvc5l4z+WWpDf\n" +
"rI9krQ2Yi9yvhwAP+PrR6gWcIqWP4cpNE7XIAUDgr4CtyI7CptT/lpjtbkz4DGCMmaeDn0jqHqJt\n" +
"SeSZGfwVu5zAGm8n4sHatjnnxBI/iWzkTII3V4xv0WeK37szNTEd+ly2ag7n2IV5zNnYmqZTeMQm\n" +
"J2ENS+IwAG3ENtiVtrVTx/2bGtqutJjtdxsN58/cUG/guRyMT6OPI8Yi3ZzevdvRbxadyhEl/Kaw\n" +
"6vJcdxmJI3tp4lx+p6sAxOWa7aapJe4JxutAQqzv0GKdVjoHKQ1wB60CAwEAAaMhMB8wHQYDVR0O\n" +
"BBYEFIPF9SBd06RWU1eDL73CKfy01lavMA0GCSqGSIb3DQEBCwUAA4IBAQAoaKZGOak3Upz/ordF\n" +
"slZoJuZlCu7jnKQEjYwHf3DNxcd1WmgFPtMcna6pW0VUxPIfidEA6VCMsGoK1RvshB0SjrRdCht6\n" +
"5qPXs9kV3NW0WvMiwDSYZZ9HgaZ9efTe5E9Fzc7ltKrE43L6k8NJcaEEWEdpdjFbrAqH4I+j/Vro\n" +
"K3OhIo062fXjas5ipL4gF+3ECImjWzirQP8UiAfM0/36x7rtAu3btH/qI9hSyx39LBPPE5AsDJZ4\n" +
"dSMwNTW1gqmBAZIj+zQ/RD5dyWfPwON7Q+t96YbK6WBuYo0xy+I+PjcUgrWYWP3N24hlq8ZBIei+\n" +
"BudoEVJlIlmS0aRCuP8n\n" +
"-----END CERTIFICATE-----";
public static String jwt_token = "eyJraWQiOiIxMDAiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ1cm46Y29tOm5ldHdvcmtudDpvYXV0aDI6djEiLCJhdWQiOiJ1cm46Y29tLm5ldHdvcmtudCIsImV4cCI6MTU2MjU2NjYxMywianRpIjoiSzZrcDJQMnN2RDhVbVNOTmdqT3ZXdyIsImlhdCI6MTU2MjU2NjAxMywibmJmIjoxNTYyNTY1ODkzLCJ2ZXJzaW9uIjoiMS4wIiwidXNlcl9pZCI6ImNoZW5taW5nIiwidXNlcl90eXBlIjpudWxsLCJjbGllbnRfaWQiOiI3NTk5OTYyOC1mNjcxLTQ4NzQtOWEyZi0xNDliM2IxZDA2YzIiLCJzY29wZSI6WyJhY3QuciIsImFjdC53Il19.c-PFcbiFvNl02wNNOgGn9uvEAQv3_EwTPVhmNM14IcokcdufYHUUVsPrbIfU-9gd4DlTuKUEWc4ry3PEggIZBs2gVKjN4Fvbs7WdRBBRWZhNxfMiiXT9z-4OxDs5GhOA06JFi4eul1jy-JPOtN2KSKlDrp09xQyFtVNQRCbgF7Klp_XDRbw9Pmjtm0OHTvtMd4dDsgsbwhEcYG6jHgEfhPHbgWTWGndzazW_4Z2kLIi-CukwT0_UCt3MUsy_lMlKbxSs-VUyV47NGqfE7PoEalIaY_iG4dNze8OtPwtY4YAIn3P3Qv3YvZnlrCzocE-REDAG916hT-kAZWBe7wMs_w";
public static void main(String[] args) throws Exception {
PublicKey publicKey = CertificateFactory.getInstance("X.509")
.generateCertificate(new ByteArrayInputStream(JwtTest.publicKey.getBytes()))
.getPublicKey();
Claims claims = null;
try {
claims = Jwts.parser().setSigningKey(publicKey)
.parseClaimsJws(jwt_token).getBody();
} catch (ExpiredJwtException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
}
System.out.println(claims.get("user_id"));
}
}