コード例 #1
0
        // 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);
        }
コード例 #2
0
        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);
            }
        }