package com.lxzn.auth; import com.alibaba.fastjson.JSON; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.jwt.Jwt; import org.springframework.security.jwt.JwtHelper; import org.springframework.security.jwt.crypto.sign.RsaVerifier; import org.springframework.test.context.junit4.SpringRunner; import java.util.Map; @RunWith(SpringRunner.class) @SpringBootTest public class TestJwt { //校验jwt令牌 @Test public void testVerify(){ //公钥 String publickey = "-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnASXh9oSvLRLxk901HANYM6KcYMzX8vFPnH/To2R+SrUVw1O9rEX6m1+rIaMzrEKPm12qPjVq3HMXDbRdUaJEXsB7NgGrAhepYAdJnYMizdltLdGsbfyjITUCOvzZ/QgM1M4INPMD+Ce859xse06jnOkCUzinZmasxrmgNV3Db1GtpyHIiGVUY0lSO1Frr9m5dpemylaT0BV3UwTQWVW9ljm6yR3dBncOdDENumT5tGbaDVyClV0FEB1XdSKd7VjiDCDbUAUbDTG1fm3K9sx7kO1uMGElbXLgMfboJ963HEJcU01km7BmFntqI5liyKheX+HBUCD4zbYNPw236U+7QIDAQAB-----END PUBLIC KEY-----"; //jwt令牌 String jwtString = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXNzd29yZCI6bnVsbCwidXNlclBpYyI6bnVsbCwic2NvcGUiOlsiYXBwIl0sIm5pY2tuYW1lIjoiemhhbmdoZXJvbmciLCJ1c2VyVHlwZSI6bnVsbCwibWVudXMiOlsiL2hvbWUvc3lzdGVtIiwiL2hvbWUvbmMiLCIvaG9tZS9wcm9kdWN0IiwiL2hvbWUvcHJvZHVjdCIsIi9ob21lL2RldmljZSIsIi9ob21lL3N5c3RlbS91Y2VudGVyIiwiL2hvbWUvc3lzdGVtL2VudGVycHJpc2UiLCIvaG9tZS9zeXN0ZW0vZGljdGlvbmFyeSIsIi9ob21lL3N5c3RlbS91Y2VudGVyL3VzZXIiLCIvaG9tZS9zeXN0ZW0vdWNlbnRlci9yb2xlIiwiL2hvbWUvc3lzdGVtL3Jlc291cmNlIiwiL2hvbWUvc3lzdGVtL3Jlc291cmNlL21lbnUiLCIvaG9tZS9zeXN0ZW0vcmVzb3VyY2Uvb2JqIiwiL2hvbWUvc3lzdGVtL3Jlc291cmNlL2J0biIsIi9ob21lL3N5c3RlbS9lbnRlcnByaXNlL2RlcGFydCIsIi9ob21lL3N5c3RlbS9kaWN0aW9uYXJ5L3NpbmdsZSIsIi9ob21lL3N5c3RlbS9kaWN0aW9uYXJ5L211bHRpcGxlIl0sImV4cCI6MTU4OTI5OTcxOSwidXNlcklkIjoiMTI1NDc3MzMzNjQ2NzY4OTQ3NCIsImp0aSI6ImVmNjA4NjI0LTg0NzItNDY4Ni04ZjJhLWQyZDA4NzY4ZDUxNSIsImNsaWVudF9pZCI6IlhjV2ViQXBwIiwidXNlcm5hbWUiOiJ6aGFuZ2hlcm9uZyJ9.VeQNThyVDt31FakAmFQeBL1_ZTVs6Lv9bUptZ-RmjvnTQZyKonvVfNMjtbZM1npPgtN2dfHZo1QvmZCaPgOwlsT9Aoveh0O0p8SYcYSiApSh9a5nOg4HZY5hZ8lEwoJTCVGTShR-2eeQ1f8fSpg_TpQ16qK4ndfVIiNBz3nvgoFk8SS0xF8zKj8Vcmw4hORxC_rtpPeFptkTS--fC2bE5YevRabHY33-31LGa4om6rTiB6GMT3TwLWomz_1NrosndaV1U44m4kSXtQVNuiScecvUmQBcEM6MXiC-Fhbw2dgQJ9mTN_B71AeiP2MZ31qwhFWEU3rZMX2Slzg2IRfM6Q"; //校验jwt令牌 Jwt jwt = JwtHelper.decodeAndVerify(jwtString, new RsaVerifier(publickey)); //拿到jwt令牌中自定义的内容 String claims = jwt.getClaims(); Map map = JSON.parseObject(claims, Map.class); System.out.println(map); } }