use of io.gravitee.repository.management.model.Audit.AuditProperties.TOKEN in project gravitee-management-rest-api by gravitee-io.
the class TokenServiceImpl method findByToken.
@Override
public Token findByToken(String token) {
try {
LOGGER.debug("Find token entity by token value");
final Optional<Token> optionalToken = tokenRepository.findAll().stream().filter(t -> passwordEncoder.matches(token, t.getToken())).findAny();
if (optionalToken.isPresent()) {
final Token t = optionalToken.get();
t.setLastUseAt(new Date());
return tokenRepository.update(t);
}
throw new IllegalStateException("Token not found");
} catch (TechnicalException ex) {
final String error = "An error occurs while trying to find token entity for a given token value";
LOGGER.error(error, ex);
throw new TechnicalManagementException(error, ex);
}
}
Aggregations