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); }
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(); }
public void Deve_Gerar_Hash_De_Senha() { var senha = new Modelos.Senha(); var hash = senha.GerarHash("123456"); hash.Should().NotBe("123456"); hash.Should().NotBeEmpty(); }
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); }