Sunday, 23 September 2018

JWT Json Web Token Claims - Token Creation and Parsing Example : using jjwt-0.2.jar

Basic - Json Webtoken Example




       

import java.io.UnsupportedEncodingException;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jws;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.impl.TextCodec;

public class JwtTokenUtil {

 public static void main(String[] args) throws UnsupportedEncodingException {

  System.out.println(createAccessJwtToken());

 }

 public static String createAccessJwtToken() throws UnsupportedEncodingException {

  Claims claims = Jwts.claims().setSubject("sanal");
  claims.put("role", "admin,super");
  claims.put("registered", 1);
  claims.put("firstName", "sanal");
  claims.put("lastName", "samuel");

  LocalDateTime currentTime = LocalDateTime.now();

  String token = Jwts.builder().setClaims(claims).setIssuer("OFV")
    .setIssuedAt(Date.from(currentTime.atZone(ZoneId.systemDefault()).toInstant()))
    .signWith(SignatureAlgorithm.HS512,
      TextCodec.BASE64.decode("Yn2kjibddFAWtnPJ2AFlL8WXmohJMCvigQggaEypa5E="))
    .compact();

  parser(token);

  return token;
 }

 public static void parser(String jwt) throws UnsupportedEncodingException {
  Jws jws = Jwts.parser()
    .setSigningKey(TextCodec.BASE64.decode("Yn2kjibddFAWtnPJ2AFlL8WXmohJMCvigQggaEypa5E="))
    .parseClaimsJws(jwt);
  System.out.println(jws.getBody());

  Claims claims = jws.getBody();
  System.out.println(claims.getSubject());

 }

}


       
 

No comments:

Post a Comment

AWS Certificate Manager - Import Certificate

How to import a certificate. Use Key Store Explorer to open the cert and export keypair in PEM format  This will save a file cert.pem. Make ...