code: public char[] getJWT() {
          try {
              char[] jwtChars = null;
              String fileToUse = this.jwtFile;
  
              if (this.chainFile != null) {
                  fileToUse = this.chainFile;
              }
  
              byte[] data = Files.readAllBytes(Paths.get(fileToUse));
              ByteBuffer bb = ByteBuffer.wrap(data);
              CharBuffer chars = StandardCharsets.UTF_8.decode(bb);
              jwtChars = this.extract(chars, 1); // jwt is always first
              // Clear things up as best we can
              chars.clear();
              for (int i=0; i<chars.capacity();i++) {
                  chars.put('\0');
              }
              bb.clear();
              for (int i=0;i<data.length;i++) {
                  data[i] = 0;
              }
  
              return jwtChars;
          } catch (Exception exp) {
              throw new IllegalStateException("problem reading jwt", exp);
          }
      }
docs: getJWT should return the user JWT associated with this connection.
  This can return null for challenge only authentication, but for account/user
  JWT-based authentication you need to return the JWT bytes here.
  
  @return the user JWT