public ActionResult Index(UsuarioAutenticaRequest request)
        {
            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress =
                    new Uri(ConfigurationManager.AppSettings["rutaWebApi"]);

                var postTask =
                    client.PostAsJsonAsync <UsuarioAutenticaRequest>("Usuarios/Autentica", request);
                postTask.Wait();

                var result = postTask.Result;
                //clase.Codigo = result.StatusCode;
                switch (result.StatusCode)
                {
                case System.Net.HttpStatusCode.OK:
                    var leerResultado = result.Content.ReadAsAsync <UsuarioAutenticaResponse>();
                    leerResultado.Wait();
                    UsuarioAutenticaResponse insertado = leerResultado.Result;

                    FormsAuthentication.SetAuthCookie(insertado.Usuario.Correo, true);
                    Session["Usuario"]  = insertado.Usuario;
                    Session["Token"]    = insertado.Token;
                    Session["Opciones"] = insertado.Opciones;

                    return(RedirectToAction("Index", "Home"));

                default:
                    string mensaje = result.Content.ReadAsStringAsync().Result;
                    ModelState.AddModelError("*", mensaje);
                    ModelState.AddModelError("*", "Revise su codigo");
                    return(View(request));
                }
            }
        }
        public IHttpActionResult Autentica([FromBody] UsuarioAutenticaRequest request)
        {
            Usuario u = data.RecuperarPorCorreo(request.Correo);

            if (u == null)
            {
                return(BadRequest("Datos incorrectos - Correo"));
            }
            if (HelperEncripta.Decrypt(u.Clave) != request.Clave)
            {
                return(BadRequest("Datos incorrectos - Clave"));
            }
            //generar el JWT
            u.Clave = null;
            return(Ok(
                       new UsuarioAutenticaResponse
            {
                Usuario = u,
                Token = "1213213132d13vdfvdf",
                Opciones = dataOpcion.Listar()
            }));
        }
示例#3
0
        public ActionResult <dynamic> AutenticarUsuario(UsuarioAutenticaRequest usuarioAutentica)
        {
            try
            {
                var usuario = _usuarioRepository.AutenticarUsuario(usuarioAutentica.Login, usuarioAutentica.Senha);
                if (usuario == null)
                {
                    return(NotFound(new { mensagem = "Usuario ou senha inválidos" }));
                }

                var token = TokenService.GerarToken(usuario, _secret);

                return(new Response.UsuarioAutenticaResponse()
                {
                    CodUsuario = usuario.CodigoUsuario,
                    NomeUsuario = usuario.NomeUsuario,
                    Token = token
                });
            }
            catch (Exception ex)
            {
                return(new StatusCodeResult(500));
            }
        }
        public ActionResult Index()
        {
            UsuarioAutenticaRequest request = new UsuarioAutenticaRequest();

            return(View(request));
        }