Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }