美文网首页
java-jwt-token-decode

java-jwt-token-decode

作者: AlastairYuan | 来源:发表于2021-12-29 22:30 被阅读0次
String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkJhZWxkdW5nIFVzZXIiLCJpYXQiOjE1MTYyMzkwMjJ9.qH7Zj_m3kY69kxhaQXTa-ivIpytKXXjZc1ZSmapZnGE";
String[] chunks = token.split("\\.");

Base64.Decoder decoder = Base64.getUrlDecoder();

String header = new String(decoder.decode(chunks[0]));
String payload = new String(decoder.decode(chunks[1]));

System.out.println(header);
//{"alg":"HS256","typ":"JWT"}
System.out.println(payload);
//{"sub":"1234567890","name":"Baeldung User","iat":1516239022}



<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt</artifactId>
    <version>0.7.0</version>
</dependency>
// Configuring Signature Algorithm and Key Specification
SignatureAlgorithm sa = HS256;
SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey.getBytes(), sa.getJcaName());

//  Performing the Verification

String tokenWithoutSignature = chunks[0] + "." + chunks[1];
String signature = chunks[2];

DefaultJwtSignatureValidator validator = new DefaultJwtSignatureValidator(sa, secretKeySpec);

if (!validator.isValid(tokenWithoutSignature, signature)) {
    throw new Exception("Could not verify JWT token integrity!");
}

网友评论

      本文标题:java-jwt-token-decode

      本文链接:https://www.haomeiwen.com/subject/dxmbqrtx.html