Throwable Error при генерации JWT с использованием JJWT в Open JDK 11 - PullRequest
0 голосов
/ 21 мая 2019

Я использую jjwt для создания JWT для моего приложения, оно работало нормально, пока я не обновил свою версию Java с 1.8 до OpenJDK 11.

Теперь, всякий раз, когда я генерирую JDK, используяприведенный ниже фрагмент кода выдает ошибку Throwable, и это тоже не в моей локальной среде, а на моих серверах UAT.

Throwable Error (только однострочная) :

io.jsonwebtoken.SignatureAlgorithm.getMinKeyLength ()

Фрагмент моего кода

    /**
     * {@inheritDoc}
     */
    public JWTResponse getJWT(UserRoleObject userRoleObject) {
        Key key = Keys.hmacShaKeyFor(getHS256SecretBytes());
        String jws = Jwts.builder()
                .setIssuer(jwtIssuer)                                                                       // Issuer of the JWT
                .setSubject(jwtSubject)                                                                    // Purpose of this JWT
                .addClaims(getClaims(userRoleObject))                                                     // Claims containing User Information
                .setIssuedAt(PartnerPortalUtil.getDateInGMT())                                          // When this token is being issued
                .setExpiration(DateUtils.addHours(PartnerPortalUtil.getDateInGMT(), tokenExpiryHours)) // When this token will be expired
                .signWith(key)
                //.signWith(SignatureAlgorithm.HS256, getHS256SecretBytes())                            // How this token is being signed
                .compact();
        return new JWTResponse(jws);
    }

и мой метод getH256SecretBytes выглядит следующим образом:

    /**
     * Method to get the secret key in Bytes which will be used to sign the JWT./
     *
     * @return Byte array representation of the secret key being used.
     */
    private byte[] getHS256SecretBytes() {
        return TextCodec.BASE64.decode(secrets.get(SignatureAlgorithm.HS256.getValue()));
    }
...