public void CreatePhone() { exampleRepository.Insert(new Person() { Name = "", }); }
public IActionResult InsertExampleEntity([FromBody] ExampleEntity entity) { try { var result = _repository.Insert(entity); return(CreatedAtRoute("", new { id = entity.ID }, result)); } catch (Exception exception) { return(StatusCode(500, exception)); } }
//Create a token if already registered user with api key and signature - clean up of old tokens need to be considered. public HttpResponseMessage Post([FromBody] TokenRequestModel model) { try { var user = _exampleRepository.GetApiUsers().FirstOrDefault(u => u.AppId == model.ApiKey); if (user != null) { var secret = user.Secret; // Simplistic implementation DO NOT USE var key = Convert.FromBase64String(secret); var provider = new System.Security.Cryptography.HMACSHA256(key); // Compute Hash from API Key (NOT SECURE) var hash = provider.ComputeHash(Encoding.UTF8.GetBytes(user.AppId)); var signature = Convert.ToBase64String(hash); if (signature == model.Signature) { var rawTokenInfo = string.Concat(user.AppId + DateTime.UtcNow.ToString("d")); var rawTokenByte = Encoding.UTF8.GetBytes(rawTokenInfo); var token = provider.ComputeHash(rawTokenByte); var authToken = new AuthToken() { Token = Convert.ToBase64String(token), Expiration = DateTime.UtcNow.AddDays(7), ApiUser = user }; if (_exampleRepository.Insert(authToken) && _exampleRepository.SaveAll()) { return(Request.CreateResponse(HttpStatusCode.Created, CreateAuthModel(authToken))); } } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } return(Request.CreateResponse(HttpStatusCode.BadRequest)); }