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());
}
}