Ejemplo n.º 1
0
        public async Task <IActionResult> ResetearPasswordMail(string emailOrUserName)
        {
            var result = await _service.ResetPasswordEmail(emailOrUserName);

            if (result.Response)
            {
                var resultado = JsonConvert.DeserializeObject(result.Body);

                var Usuario = JsonConvert.DeserializeObject <ChangePasswordViewModel>(result.Body);

                Usuario.PasswordCode = Usuario.PasswordCode.Replace("/", "%2F").Replace("/", "%2F");

                Usuario.PasswordCode = Usuario.PasswordCode.Replace("+", "%2B").Replace("+", "%2B");

                Usuario.PasswordCode = Usuario.PasswordCode.Replace("=", "%3D").Replace("=", "%3D");

                var confirmationUrl = $"{Request.Host.Value}/api/User/password/reset?email={Usuario.Email}&token={Usuario.PasswordCode}";

                var mensaje = new Mensaje(CineAunthenticationMailSender.BodyContentResetPasswordEmail);

                await CineAunthenticationMailSender.SendUserVerificationEmail(Usuario.UserName, Usuario.Email, confirmationUrl, mensaje(Usuario.UserName, confirmationUrl));


                return(Ok(new
                {
                    Endpoint = confirmationUrl,
                    Nombre = Usuario.UserName,
                    Mail = Usuario.Email
                }));
            }
            else
            {
                return(BadRequest(result));
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Crear([FromBody] UsuarioCreacionViewModel model)
        {
            var userModel = new UserDto
            {
                UserName  = model.Username,
                Email     = model.Email,
                FirstName = model.FirstName,
                LastName  = model.LastName,
            };


            var result = await _service.CrearUserAsync(userModel, model.Password);

            if (result.Response)
            {
                var resultado = JsonConvert.DeserializeObject(result.Body);


                var Usuario = JsonConvert.DeserializeObject <UserResultVerificationMail>(result.Body);

                Usuario.EmailCode = Usuario.EmailCode.Replace("/", "%2F").Replace("/", "%2F");

                Usuario.EmailCode = Usuario.EmailCode.Replace("+", "%2B").Replace("+", "%2B");

                Usuario.EmailCode = Usuario.EmailCode.Replace("=", "%3D").Replace("=", "%3D");

                var confirmationUrl = $"{Request.Host.Value}/api/User/verify/email/{Usuario.UID}/{Usuario.EmailCode}";

                var mensaje = new Mensaje(CineAunthenticationMailSender.BodyContentVerificationMail);

                await CineAunthenticationMailSender.SendUserVerificationEmail(Usuario.Name, Usuario.Email, confirmationUrl, mensaje(Usuario.Name, confirmationUrl));


                return(Ok(new
                {
                    Endpoint = confirmationUrl,
                    Nombre = Usuario.Name,
                    Mail = Usuario.Email
                }));
            }
            else
            {
                return(BadRequest(result));
            }
        }