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<String, String> map = JSON.parseObject(claims, Map.class);
|
System.out.println(map);
|
}
|
}
|