示例#1
0
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                // Gerar o token de reset da senha
                // Gerar a url para o usuário
                // Vamos enviar esse email

                var usuario = await UserManager.FindByEmailAsync(modelo.Email);

                if (usuario != null)
                {
                    var token =
                        await UserManager.GeneratePasswordResetTokenAsync(usuario.Id);

                    var linkDeCallback =
                        Url.Action(
                            "ConfirmacaoAlteracaoSenha",
                            "Conta",
                            new { usuarioId = usuario.Id, token = token },
                            Request.Url.Scheme);

                    await UserManager.SendEmailAsync(
                        usuario.Id,
                        "Fórum ByteBank - Alteração de senha",
                        $"Clique aqui {linkDeCallback} alterar a sua senha!");
                }

                return(View("EmailAlteracaoSenhaEnviado"));
            }

            return(View());
        }
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                var usuario = await UserManager.FindByEmailAsync(modelo.Email);

                //se o usuario já existir cadastrado envie o email de fato, se não apenas redirecione para a view
                if (usuario != null)
                {
                    //criando token de reset
                    var token = await UserManager.GeneratePasswordResetTokenAsync(usuario.Id);

                    //cria o email
                    var linkDeCallBack = Url.Action("ConfirmacaoAlteracaoDeSenha", "Conta", new { usuarioId = usuario.Id, token = token }, Request.Url.Scheme);

                    //envia o email
                    await UserManager.SendEmailAsync(
                        usuario.Id,
                        "Fórum - Alteração de senha",
                        $"Clique no link abaixo para alterar a sua senha : {linkDeCallBack}");
                }

                //mostra a view
                return(View("EmailAlteracaoSenhaEnviado"));
            }

            return(View());
        }
示例#3
0
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                var usuario = await UserManager.FindByEmailAsync(modelo.Email);

                if (usuario != null)
                {
                    var token = await UserManager.GeneratePasswordResetTokenAsync(usuario.Id);

                    var linkDeCallback =
                        Url.Action(
                            "ConfirmacaoAlteracaoSenha",
                            "Conta",
                            new { usuarioId = usuario.Id, token = token },
                            Request.Url.Scheme);

                    await UserManager.SendEmailAsync(usuario.Id,
                                                     "Lgg Rastreablidade - Alteração de Senha",
                                                     $"Bem vindo a LGG Rastreabilidade , clique aqui {linkDeCallback} para alterar a sua senha!");
                }

                return(View("EmailAlteracaoSenhaEnviado"));
            }

            return(View());
        }
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                var usuario = await UserManager.FindByEmailAsync(modelo.Email);

                if (usuario != null)
                {
                    //Gerar token de reset da senha
                    var token = await UserManager.GeneratePasswordResetTokenAsync(usuario.Id);

                    //Gerar Url para usuario
                    var linkCallBack = Url.Action(
                        "ConfirmacaoAlterouSenha",
                        "Conta",
                        new { usuarioId = usuario.Id, token = token },
                        Request.Url.Scheme);

                    //Enviar e-mail
                    await UserManager.SendEmailAsync(
                        usuario.Id,
                        "Fórum ByteBank - Alteração de Senha",
                        $"Bem Vindo ao fórum ByteBank, clique aqui {linkCallBack} para alterar a sua senha!"
                        );
                }
                return(View("EmailAlteracaoSenhaEnviado"));
            }
            return(View());
        }
示例#5
0
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                // gerar token para reset da senha
                // gerar url para o usuário
                // enviar o email ao usuário
                var usuario = await UserManager.FindByEmailAsync(modelo.Email);

                if (usuario != null)
                {
                    var token = UserManager.GeneratePasswordResetTokenAsync(usuario.Id);
                    // criando uma view para enviar ao usuário para que esse ao clicar seja automaticamente validado sem o mesmo ter que
                    // acessar uma pagina, copiar e colar token, etc ...
                    var linkDeCallBack = Url.Action("ConfirmacaoAlteracaoSenha", "conta", new { usurioID = usuario.Id, token = token }, Request.Url.Scheme);

                    // enviando email para o usuário com o token para esse poder validar email
                    await UserManager.SendEmailAsync(usuario.Id, "Forum Byte Bank - Alteração de senha", $"Clique aqui {linkDeCallBack} para alterar sua senha.");
                }

                // independente de o usuario estar na base ou nao, iremos mostrar a mensagem de senha enviada
                // para previnir novamente de um hacker saber que a conta é valida ou não.
                return(View("EmailAlteracaoSenha"));
            }

            return(View());
        }
示例#6
0
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                var usuario = await UserManager.FindByEmailAsync(modelo.Email);

                if (usuario != null)
                {
                    var token = await UserManager.GeneratePasswordResetTokenAsync(usuario.Id);

                    var linkCallback = Url.Action(
                        "ConfirmacaoAlteracaoSenha",
                        "Conta",
                        new
                    {
                        usuarioId = usuario.Id,
                        token     = token
                    },
                        Request.Url.Scheme
                        );

                    var body = "Alteração de senha : " + linkCallback;

                    await UserManager.SendEmailAsync(usuario.Id, "Alteração de senha : ", body);
                }
                return(View("EmailALteracaoSenhaEnviado"));
            }
            return(View());
        }
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel model)
        {
            if (ModelState.IsValid)
            {
                var usuario = await UserManager.FindByEmailAsync(model.Email);

                if (usuario != null)
                {
                    var token = await UserManager.GeneratePasswordResetTokenAsync(usuario.Id);

                    var linkDeCallback = Url.Action("ConfirmacaoAlteracaoSenha", "Conta", new { usuarioId = usuario.Id, token = token }, Request.Url.Scheme);

                    await UserManager.SendEmailAsync(usuario.Id, "Projeto Teste Identity - Alteração de senha",
                                                     $"Redefinição de senha, clique aqui {linkDeCallback}!");
                }

                return(View("EmailAlteracaoSenhaEnviado"));
            }

            return(View());
        }
示例#8
0
        public async Task <ActionResult> EsqueciSenha(ContaEsqueciSenhaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                var usuario = await UserManager.FindByEmailAsync(modelo.Email);

                if (usuario != null)
                {
                    var token = await UserManager.GeneratePasswordResetTokenAsync(usuario.Id);

                    var callbackUrl = Url.Action("ConfirmacaoAlteracaoSenha", "Conta",
                                                 new { usuarioId = usuario.Id, token = token }, Request.Url.Scheme);
                    await UserManager.SendEmailAsync(
                        usuario.Id,
                        "Gerenciador de Chamados - Alteração de Senha",
                        "Clique no link para alterar sua senha " + callbackUrl);
                }

                return(View("EmailAlteracaoSenhaEnviado"));
            }
            return(View());
        }