public async Task <AutenticacaoResult> ResetarSenhaAsync(ResetarSenhaModel model) { var usuario = await _uow.UsuarioRepositorio .ObterUsuarioPorEmailAsync(model.Email); if (usuario == null || usuario.Deletado) { return(new AutenticacaoResult { Mensagem = Dicionario.ME001, Sucesso = false, }); } usuario.Salt = SenhaHasherHelper.CriarSalt(8); usuario.Senha = SenhaHasherHelper .GerarHash(model.Senha, usuario.Salt); await _uow.UsuarioRepositorio.SaveAsync(usuario); return(new AutenticacaoResult { Mensagem = Dicionario.MS002, Sucesso = true }); }
public async Task ResetarSenhaAsync_AutenticacaoServico_SucessoNoResetDaSenhaDoUsuario() { var novaSenha = _faker.Internet.Password(); var model = new ResetarSenhaModel { Email = "*****@*****.**", Senha = novaSenha, ConfirmacaoSenha = novaSenha }; var authResult = await _autenticacaoServico .ResetarSenhaAsync(model); authResult.Mensagem.Should().Be(Dicionario.MS002); authResult.Sucesso.Should().BeTrue(); var usuarioComSenhaResetada = await _uow.UsuarioRepositorio .ObterUsuarioPorEmailAsync(model.Email); var senhaHashEsperado = SenhaHasherHelper .GerarHash(model.Senha, usuarioComSenhaResetada.Salt); usuarioComSenhaResetada.Senha.Should() .Be(senhaHashEsperado); }
public IActionResult ResetarSenha(string token, string email) { var model = new ResetarSenhaModel { Token = token, Email = email }; return(View(model)); }
public async Task <bool> ResetarSenhaService(ResetarSenhaModel model) { StringContent content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"); var response = await _client.PostAsync("Login/ResetPassword", content); if (response.IsSuccessStatusCode) { return(true); } return(false); }
public async Task ResetarSenhaAsync_AutenticacaoServico_RespostaDeErrorSeUsuarioEstiverDeletado() { var novaSenha = _faker.Internet.Password(); var model = new ResetarSenhaModel { Email = "*****@*****.**", Senha = novaSenha, ConfirmacaoSenha = novaSenha }; var authResult = await _autenticacaoServico .ResetarSenhaAsync(model); authResult.Mensagem.Should().Be(Dicionario.ME001); authResult.Sucesso.Should().BeFalse(); }
public async Task ResetarSenhaAsync_AutenticacaoServico_RespostaDeErrorSeEmailNaoExistir() { var novaSenha = _faker.Internet.Password(); var model = new ResetarSenhaModel { Email = _faker.Person.Email, Senha = novaSenha, ConfirmacaoSenha = novaSenha }; var authResult = await _autenticacaoServico .ResetarSenhaAsync(model); authResult.Mensagem.Should().Be(Dicionario.ME001); authResult.Sucesso.Should().BeFalse(); }
public async Task <IActionResult> ResetarSenha(ResetarSenhaModel model) { try { if (ModelState.IsValid) { var result = await _loginService.ResetarSenhaService(model); if (result) { _toast.AddSuccessToastMessage("Senha alterada com sucesso !!!"); return(View("Login")); } } _toast.AddErrorToastMessage("Erro ao atualizar senha !!!"); return(RedirectToAction("Index", "Home")); } catch (Exception) { return(RedirectToAction("HttpStatusCodeHandler", "Home", new { statusCode = this.Response.StatusCode = 500 })); } }