Является ли экземпляр DefaultJWTProcessor потокобезопасным?
Я делюсь DefaultJWTProcessor
между разными потоками, но я не смог найти в документации, является ли он потокобезопасным.
Это справочник, который показывает, как я создаю экземпляр и как использую процессор через validate
:
public class JWTProcessor{
public static final String ERROR_MESSAGE = "Error validating JWT token [%s]";
private JWTProcessor<SecurityContext> jwtProcessor;
public JWTValidation(JWKSource<SecurityContext> keySource) {
ConfigurableJWTProcessor<SecurityContext> jwtProcessor = new DefaultJWTProcessor<>();
JWSAlgorithm expectedJWSAlg = JWSAlgorithm.RS256;
JWSKeySelector<SecurityContext> keySelector = new JWSVerificationKeySelector<>(expectedJWSAlg, keySource);
jwtProcessor.setJWSKeySelector(keySelector);
this.jwtProcessor = jwtProcessor;
}
public JWTClaimsSet validate(String jwsToken) throws JWTValidationException {
if (jwsToken == null || jwsToken.trim().isEmpty()) {
throw new CloudFlareJWTException(String.format(ERROR_MESSAGE, "Token null or empty"));
}
try {
return jwtProcessor.process(jwsToken, null);
} catch (Exception e) {
throw new JWTValidationException (String.format(ERROR_MESSAGE, e.getMessage()), e);
}
}
}
Итак, вопрос в том, является ли это потокобезопасным?