private LoginRAO PrepareUserRAOForLogin(GetLoginUserDTO userDTO) { byte[] passwordHash, passwordSalt; var hashEngine = new CreatePasswordHashEngine(); hashEngine.CreatePasswordHash(userDTO.Password, out passwordHash, out passwordSalt); var rao = _mapper.Map <LoginRAO>(userDTO); rao.PasswordHash = passwordHash; rao.PasswordSalt = passwordSalt; return(rao); }
public async Task <ReceivedExistingDTO> LoginUser(GetLoginUserDTO userDTO) { var rao = PrepareUserRAOForLogin(userDTO); var receivedUser = await _existingUserInvoker.InvokeLoginUserCommand(rao); var verifyPasswordHashEngine = new VerifyPasswordHashEngine(); if (verifyPasswordHashEngine.VerifyPasswordHash(userDTO.Password, receivedUser.PasswordHash, receivedUser.PasswordSalt)) { var receivedUserDTO = _mapper.Map <ReceivedExistingDTO>(receivedUser); return(receivedUserDTO); } return(null); }