public ActionResult GenerateCode(SimpleLoginDto login) { try { var random = new Random(); var code = random.Next(1000, 9999); //var client = new CalixtaSoapWebService.GatewayPortTypeClient(); //var tarea = client.EnviaMensajeAsync(47622, "*****@*****.**", "d7e143c2dc5db8f9a4796595f81fd23f1f63a5a60b2f7a558c5b516a44c8087a", // "SMS", DateTime.Now.ToString("dd/MM/YYYY/hh/mm"), login.Telefono, $"Codigo de seguridad: {code}", 0); //tarea.Wait(); //if(tarea.Result == 3) _codigoService.Save(new CodigoValidacion { Telefono = login.Telefono, Codigo = code, FechaGeneracion = DateTime.Now }); return(Ok(new { code })); //return BadRequest("No se ha podido enviar el SMS con codigo de seguridad, por favor contacte con el administrador."); } catch (AggregateException aex) { return(ValidationProblem(new ValidationProblemDetails { Detail = aex.Message })); } catch (Exception ex) { return(ValidationProblem(new ValidationProblemDetails { Detail = ex.Message })); } }
public ActionResult Authenticate(SimpleLoginDto login) { try { var tipoCuenta = _tipoCuentaService.GetByCriteria(TipoCuentaCriteria.Create().EqualNombre(login.TipoCuenta)); var user = _service.GetByCriteria(UsuarioCriteria.Create().ByTelefono(login.Telefono)); var cuentas = _cuentaService.GetCollectionByCriteria(CuentaUsuarioCriteria.Create().ByIdUsuario(user.Id.Value)); if (!cuentas.Any(item => item.IdTipoCuenta == tipoCuenta.Id && item.Password == StringHelper.GetSHA1(login.Password))) { return(Unauthorized()); } var token = JWTTokenGenerator.GenerateToken(login.Telefono); if (string.IsNullOrWhiteSpace(token)) { var error = new ValidationProblemDetails { Title = "Error de autenticación", Detail = "No se ha podido generar el token de autorización." }; return(ValidationProblem(error)); } return(Ok(new { token })); }catch { return(NoContent()); } }
public ActionResult CodeAuthenticate(SimpleLoginDto login) { try { var loginCode = new CodigoValidacion { Telefono = login.Telefono, Codigo = login.Codigo }; var authenticatedUser = _codigoService.Login(loginCode); if (authenticatedUser == null) { return(Unauthorized()); } var token = JWTTokenGenerator.GenerateToken(authenticatedUser.Telefono); if (string.IsNullOrWhiteSpace(token)) { var error = new ValidationProblemDetails { Title = "Error de autenticación", Detail = "No se ha podido generar el token de autorización." }; return(ValidationProblem(error)); } return(Ok(new { token })); }catch { return(NoContent()); } }