public bool RecuperarSenhaValidarToken(string token, out SenhaAcesso usuario) { usuario = null; if (!string.IsNullOrEmpty(token)) { token = token.Replace(" ", "+"); string tokenDecrypted = Criptografia.Decrypt(token); var arrValoresToken = tokenDecrypted.Split(';'); var userId = Int32.Parse(arrValoresToken[0]); var validadeToken = DateTime.Parse(arrValoresToken[1]); if (validadeToken > DateTime.Now && userId != 0) { AutenticacaoService autenticacaoService = new AutenticacaoService(); var usuarioCtx = autenticacaoService.GetUsuario(userId); usuario = usuarioCtx; return(true); } return(false); } return(false); }
public void RecuperarSenhaGerarToken(DTOContato contato, INotification notification, string urlCaminho) { AutenticacaoService autenticacaoService = new AutenticacaoService(); var usuarioCtx = autenticacaoService.GetUsuario(contato.Usuario); if (usuarioCtx != null) { notification.Notificar(contato, $"Olá {contato.Nome}, o link para resetar sua senha chegou!", EmailRecuperacao(usuarioCtx, contato.Nome, urlCaminho)); } else { throw new Exception("Usuário não encontrado na base."); } }
public void RecuperSenha(DTOContato contato, INotification notification, TipoContato tipoContato = TipoContato.EMAIL) { AutenticacaoService autenticacaoService = new AutenticacaoService(); var usuarioCtx = autenticacaoService.GetUsuario(contato.Usuario); if (usuarioCtx != null) { autenticacaoService.ResetarSenhaUsuario(new DTOUsuario { Usuario = contato.Usuario }, out string novaSenha); notification.Notificar(contato, $"Olá {contato.Nome}, aqui sua senha temporária.", MontaHTML(new SenhaAcesso { Usuario = contato.Usuario, Senha = novaSenha }, contato.Nome)); } else { throw new Exception("Usuário não encontrado na base."); } }