Example #1
0
 // 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"));
 }
Example #2
0
 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"));
 }
Example #3
0
 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"));
 }