Beispiel #1
0
        public IHttpActionResult ChangePassword(RequestChangePassword request)
        {
            try
            {
                bool autorization = false;
                if (Request.Headers.Authorization != null)
                {
                    string Jwt = Request.Headers.Authorization.Parameter;
                    autorization = new BJwt().ConsultarJwt(Jwt);
                }

                if (!autorization)
                {
                    Resultado res = new Resultado()
                    {
                        Mensaje = "Token Invalido", Respuesta = 0
                    };
                    return(Ok(res));
                }
                Resultado resultado = new BUser().ChangePassword(request);
                if (resultado.Respuesta == 1)
                {
                    return(Ok(resultado));
                }
                else
                {
                    return(BadRequest(resultado.Mensaje));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
Beispiel #2
0
        public IHttpActionResult UpdateProfile(UpdateProfile request)
        {
            try
            {
                bool autorization = false;
                if (Request.Headers.Authorization != null)
                {
                    string Jwt = Request.Headers.Authorization.Parameter;
                    autorization = new BJwt().ConsultarJwt(Jwt);
                }

                if (!autorization)
                {
                    Resultado res = new Resultado()
                    {
                        Mensaje = "Token Invalido", Respuesta = 0
                    };
                    return(Ok(res));
                }
                Resultado resultado = new Resultado();
                resultado = BProfile.UpdateProfile(request);
                return(Ok(resultado));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
Beispiel #3
0
        public IHttpActionResult ExperienceCreate(ExperienceEntity experience)
        {
            try
            {
                bool autorization = false;
                if (Request.Headers.Authorization != null)
                {
                    string Jwt = Request.Headers.Authorization.Parameter;
                    autorization = new BJwt().ConsultarJwt(Jwt);
                }

                if (!autorization)
                {
                    Resultado res = new Resultado()
                    {
                        Mensaje = "Token Invalido", Respuesta = 0
                    };
                    return(Ok(res));
                }
                Resultado resultado = new BExperience().ExperienceCreate(experience);
                if (resultado.Respuesta == 1)
                {
                    return(Ok(resultado));
                }
                else
                {
                    return(BadRequest(resultado.Mensaje));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            HttpStatusCode statusCode;
            string         token;

            if (!TryRetrieveToken(request, out token))
            {
                statusCode = HttpStatusCode.Unauthorized;
                return(base.SendAsync(request, cancellationToken));
            }
            try
            {
                long id  = 1;
                BJwt jwt = new BJwt();
                var  Jwt = jwt.ConsultarPropiedadesJwt(id);

                if (Jwt == null)
                {
                    Resultado resultado = new Resultado()
                    {
                        Mensaje   = "No fue posible Consultar Propiedades Jwt: " + id.ToString(),
                        Respuesta = 0
                    };

                    HttpResponseMessage responseMessage = request.CreateResponse(resultado);
                    return(Task <HttpResponseMessage> .Factory.StartNew(() => responseMessage));
                }
                var secretKey     = Jwt.JWT_SECRET_KEY;
                var audienceToken = Jwt.JWT_AUDIENCE_TOKEN;
                var issuerToken   = Jwt.JWT_ISSUER_TOKEN;

                var securityKey = new SymmetricSecurityKey(System.Text.Encoding.Default.GetBytes(secretKey));

                SecurityToken             securityToken;
                var                       tokenHandler         = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler();
                TokenValidationParameters validationParameters = new TokenValidationParameters()
                {
                    ValidAudience            = audienceToken,
                    ValidIssuer              = issuerToken,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,
                    LifetimeValidator        = this.LifetimeValidator,
                    IssuerSigningKey         = securityKey
                };

                // Extract and assign Current Principal and user
                Thread.CurrentPrincipal  = tokenHandler.ValidateToken(token, validationParameters, out securityToken);
                HttpContext.Current.User = tokenHandler.ValidateToken(token, validationParameters, out securityToken);

                return(base.SendAsync(request, cancellationToken));
            }
            catch (SecurityTokenValidationException ex)
            {
                statusCode = HttpStatusCode.Unauthorized;

                Resultado resultado = new Resultado()
                {
                    Mensaje   = statusCode.ToString() + " 401.   Ex:" + ex.Message,
                    Respuesta = 0
                };
                HttpResponseMessage responseMessage = request.CreateResponse(resultado);
                return(Task <HttpResponseMessage> .Factory.StartNew(() => responseMessage));
            }
            catch (Exception ex)
            {
                // throw ex;
                statusCode = HttpStatusCode.InternalServerError;
                Resultado resultado = new Resultado()
                {
                    Mensaje   = statusCode.ToString() + " . :" + ex.Message,
                    Respuesta = 0
                };
                HttpResponseMessage responseMessage = request.CreateResponse(resultado);
                return(Task <HttpResponseMessage> .Factory.StartNew(() => responseMessage));
            }

            //return Task<HttpResponseMessage>.Factory.StartNew(() => new HttpResponseMessage(statusCode) { });
        }