jwtk/jjwt

Algorithm Request/Result Builders

lhazlewood opened this issue · 0 comments

As discussed in #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