// PUT api/<controller>/5 public HttpResponseMessage Put(int id, [FromBody] Person person) { if (Request.Headers.Contains("Authorization")) { string type = Request.Headers.GetValues("Authorization").FirstOrDefault()?.Split(' ').First(); if (type == "Bearer") { var token = Request.Headers.GetValues("Authorization").FirstOrDefault()?.Split(' ').Last(); if (AuthJWT.ValidateJwtToken(token)) { return(PutPerson(id, person)); } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Invalid token")); } if (type == "Basic") { var authHeader = Request.Headers.GetValues("Authorization").FirstOrDefault()?.Split(' ').Last(); var credentialBytes = Convert.FromBase64String(authHeader); var credentials = Encoding.UTF8.GetString(credentialBytes).Split(new[] { ':' }, 2); var user = users.SingleOrDefault(x => x.Username == credentials[0] && x.Password == credentials[1]); if (user != null) { return(PutPerson(id, person)); } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Username or password is incorrect")); } } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "No authorization header")); }
public HttpResponseMessage Get(string name = null, string surname = null, string city = null, int?year = null, bool lowercase = false, bool contains = false) { if (Request.Headers.Contains("Authorization")) { string type = Request.Headers.GetValues("Authorization").FirstOrDefault()?.Split(' ').First(); if (type == "Bearer") { var token = Request.Headers.GetValues("Authorization").FirstOrDefault()?.Split(' ').Last(); if (AuthJWT.ValidateJwtToken(token)) { return(FindPerson(name, surname, city, year, lowercase, contains)); } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Invalid token")); } if (type == "Basic") { var authHeader = Request.Headers.GetValues("Authorization").FirstOrDefault()?.Split(' ').Last(); var credentialBytes = Convert.FromBase64String(authHeader); var credentials = Encoding.UTF8.GetString(credentialBytes).Split(new[] { ':' }, 2); var user = users.SingleOrDefault(x => x.Username == credentials[0] && x.Password == credentials[1]); if (user != null) { return(FindPerson(name, surname, city, year, lowercase, contains)); } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Username or password is incorrect")); } } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "No authorization header")); }
public HttpResponseMessage Get() { if (Request.Headers.Contains("Authorization")) { var token = Request.Headers.GetValues("Authorization").FirstOrDefault()?.Split(' ').Last(); if (AuthJWT.ValidateJwtToken(token)) { return(Request.CreateResponse(HttpStatusCode.OK, users)); } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Invalid token")); } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "No authorization header")); }