@Override
public User getUser(String userName, String sourceHost, String password) throws JasDBStorageException {
User user = userMetadataProvider.getUser(userName);
LOG.debug("Expected host: {} actual: {}", user.getHost(), sourceHost);
CryptoEngine cryptoEngine = CryptoFactory.getEngine(user.getEncryptionEngine());
if(user.getPasswordHash().equals(cryptoEngine.hash(user.getPasswordSalt(), password)) && (user.getHost().equals("*") || user.getHost().equals(sourceHost))) {
LOG.debug("User: {} has been authenticated", user);
return user;
} else {
throw new JasDBSecurityException("Could not authenticate, invalid credentials");
}
}