コード例 #1
0
        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);
        }
コード例 #2
0
        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.");
            }
        }
コード例 #3
0
        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.");
            }
        }