Skip to content

Built in support for JWTs #25

@jhannes

Description

@jhannes

Json Web Tokens are useful for Open ID Connect scenarios. Jsonbuddy could support these as built a built in features. Code example:

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(256); // ???
KeyPair keyPair = keyGen.generateKeyPair();
PrivateKey privateKey = keyPair.getPrivate();

JwtTokenBuilder builder = new JwtTokenBuilder()
    .addAlgorithm("RS256")
    .addKid("keyId")
    .addClaim("iss", "some issuer")
    .addClaim("sub", "some subject");

JwtToken token = new JwtToken(builder.getHeader(), builder.getPayload(), builder.sign(privateKey));

createCertificateFromPublicKey(keyPair.getPublic());
assertThat(token.iss()).isEqualTo("some issuer");
assertThat(token.safeVerifySignature()).isTrue();

JwtToken token = new JwtToken(builder.getHeader(), builder.getPayload(), builder.sign(otherPrivateKey));
assertThat(token.safeVerifySignature()).isFalse();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions