Пример #1
0
        public async Task <Dominio.Servicos.Resposta <Modelos.Usuario> > Salvar(DTOs.NovoUsuario dadosUsuario)
        {
            var resposta = new Resposta <Modelos.Usuario>();
            var senha    = new Modelos.Senha();

            if (string.IsNullOrWhiteSpace(dadosUsuario.Nome))
            {
                resposta.Erro = new ErroAtributoEmBranco("nome");
            }

            else if (string.IsNullOrWhiteSpace(dadosUsuario.Login))
            {
                resposta.Erro = new ErroAtributoEmBranco("login");
            }

            else if (string.IsNullOrWhiteSpace(dadosUsuario.Senha))
            {
                resposta.Erro = new ErroAtributoEmBranco("senha");
            }

            else
            {
                var usuario = new Modelos.Usuario(dadosUsuario.Login, senha.GerarHash(dadosUsuario.Senha), dadosUsuario.Nome);

                usuario.Id = await _usuarios.Salvar(usuario);

                resposta.Resultado = usuario;
            }

            return(resposta);
        }
Пример #2
0
        public void Deve_Retornar_True_Quando_Passar_Um_Hash_Que_Corresponde_A_Uma_Senha()
        {
            var senha = new Modelos.Senha();

            var ehValida = senha.Validar("pMt6WXGnAFrN1o13CIDRGw==.Bc8/fYrDFfyw576GfZnlEgnYIqZfszuKEErs2agPgRA=", "123456");

            ehValida.Should().BeTrue();
        }
Пример #3
0
        public void Deve_Gerar_Hash_De_Senha()
        {
            var senha = new Modelos.Senha();

            var hash = senha.GerarHash("123456");

            hash.Should().NotBe("123456");
            hash.Should().NotBeEmpty();
        }
Пример #4
0
        public async Task <Dominio.Servicos.Resposta <DTOs.Usuario> > Autenticar(DTOs.NovoUsuario dadosUsuario)
        {
            var resposta = new Resposta <DTOs.Usuario>();
            var senha    = new Modelos.Senha();

            var usuario = await _usuarios.ObterPorLogin(dadosUsuario.Login);

            if (usuario == null)
            {
                resposta.Erro = new ErroAtributoInvalido("Login");
                return(resposta);
            }

            bool senhaEhValida = senha.Validar(usuario.Senha, dadosUsuario.Senha);

            if (senhaEhValida)
            {
                usuario.AdicionarToken(Guid.NewGuid().ToString());

                await _usuarios.Salvar(usuario);

                resposta.Resultado = new DTOs.Usuario
                {
                    Id    = usuario.Id,
                    Login = usuario.Login,
                    Token = usuario.Token,
                    Nome  = usuario.Nome
                };
            }

            else
            {
                resposta.Erro = new ErroAtributoInvalido("Senha");
            }

            return(resposta);
        }