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