jjwt icon indicating copy to clipboard operation
jjwt copied to clipboard

Algorithm Request/Result Builders

Open lhazlewood opened this issue 9 months ago • 0 comments

As discussed in https://github.com/jwtk/jjwt/discussions/929, this issue represents the work to make available Request and Result builders in the JJWT api module for use when calling various JJWT Algorithm instances (e.g. SignatureAlgorithm, KeyAlgorithm, etc). For example:

var alg = Jwts.SIG.RS256;
var request = alg.request(publicKey).data(concatSignedFields).digest(decodedSignature).build();
var signature = alg.digest(request);

The primary purpose of this work is to allow simple builder-based construction of concrete instances of the Request and Result interfaces so Algorithm implementors no longer need to:

  1. implement those interfaces directly, which is especially helpful when writing unit tests), nor
  2. create a compile-time dependency on the impl module.

cc @mrts

lhazlewood avatar Apr 30 '24 23:04 lhazlewood