// PUT https://undone-auth.firebaseio.com/AppAudiences.json?access_token=<ACCESS_TOKEN> public async Task <HttpResponseMessage> PutAppAudiences(AppAudiences app) { var client = new HttpClient(); client.BaseAddress = new Uri(projectUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); var jsonString = JsonConvert.SerializeObject(app); var uniqueId = app.Id.ToString(); var response = await client.PutAsync("AppAudiences/" + uniqueId + ".json?access_token=" + accessToken, new StringContent(jsonString, Encoding.UTF8, "application/json")); return(response); }
public async Task <IActionResult> Post([FromBody] ClientAppModel client) { IActionResult response = Unauthorized(); try { if (ModelState.IsValid) { var app = new AppAudiences(); app.Id = Guid.NewGuid(); //app.AppSecretKey = GetRandomCharacter(16, RemoveCharacter(app.Id.ToString("N"))); var key = Encoding.UTF8.GetBytes(client.Password); var message = Encoding.UTF8.GetBytes(app.Id.ToString("N")); app.AppSecretKey = ReplaceInvalidCharacterForJwt(Convert.ToBase64String(HashingByHMACSHA256(message, key))); app.CreatedDateTime = DateTime.UtcNow; app.ExpiryDate = DateTime.UtcNow.AddMonths(3); app.CreatedBy = client.CreatedBy; app.Name = client.Name; app.ContactEmail = client.ContactEmail; var fb = new Firebase(_config); var resp = await fb.PutAppAudiences(app); var jsonString = resp.Content.ReadAsStringAsync().Result.ToString(); if (resp.StatusCode == HttpStatusCode.OK) { response = Ok(app); return(response); } else { return(response); } } else { response = BadRequest(); return(response); } } catch (Exception ex) { response = BadRequest(ex.Message); return(response); } }