Skip to content
/ rj-jwt Public

Pure Java implementation for JSON Web Token (JWT)

License

Notifications You must be signed in to change notification settings

rongjih/rj-jwt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rj-jwt

Pure Java implementation for JSON Web Token (JWT) [RFC7519]

1. Quick Start

1.1. Create a JWT

// create a default header: 
// e.g. {"typ":"JWT","alg":"HS256"}
Header header = Header.DEFAULT;

// create a payload
// e.g. {"iss":"RJ","aud":"you","exp":1483200000,"iat":1451577600,"name":"tester"}
Payload payload = new Payload();

// set some registed claims
payload.issuer = "RJ";
payload.audience = "you";
payload.issuedAt = ZonedDateTime.now().toEpochSecond();
payload.expires = ZonedDateTime.now().plusMonths(1).toEpochSecond();

// add your public/private claims
payload.add("name", "tester");
...

// sign and encode with the secret key
// eg. [header].[payload].[signature]
String jwt = new JWT(header, payload).encode("the-secret-key");

1.2. Verify a JWT

// verify and decode to a JWT instance
JWT jwt = JWT.decode("[header].[payload].[signature]", "the-secret-key");

// get your public/private claims value
String name = jwt.poyload.get("name");

2. Requirements

  • Java 8 - this component use java8 native Base64 and HMACSHA-256
  • At lease one Java API for JSON Processing (JSR 353) provider
    e.g. Genson, Jackson, Glassfish

3. References

About

Pure Java implementation for JSON Web Token (JWT)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages