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)); } }
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)); } }