private async Task <OneTrustDTO> GetToken() { _logger.LogWarning("One trust GetToken Start"); var model = new OneTrustDTO(); HttpClientHandler httpClientHandler = new HttpClientHandler() { UseProxy = true, UseDefaultCredentials = true, UseCookies = true, }; using (var client = new HttpClient(httpClientHandler)) { client.BaseAddress = new Uri(_conf.OneTrustUrl + "/api/access/v1/oauth/token"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("multipart/form-data")); var body = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("grant_type", "client_credentials"), new KeyValuePair <string, string>("client_id", "231a9d2ad50f4a94877d58393797e029"), new KeyValuePair <string, string>("client_secret", "sP90tumEaqSZX1nLuKgMXN0D55GPaMJU"), }; // HTTP POST HttpResponseMessage response = await client.PostAsync(client.BaseAddress, new FormUrlEncodedContent(body)); if (response.IsSuccessStatusCode && response.StatusCode == HttpStatusCode.OK) { using (HttpContent HttpContent = response.Content) { string MyContent = HttpContent.ReadAsStringAsync().Result; var jobject = (JObject)JsonConvert.DeserializeObject(MyContent); var jvalue = (JValue)jobject["access_token"]; model.token = jvalue.Value.ToString(); _logger.LogWarning("One trust GetToken Sucess"); } } else { _logger.LogWarning("One trust GetToken Fail"); } } return(model); }
private async Task <OneTrustDTO> GetPurposes() { _logger.LogWarning("GetPurposes Token Start"); var model = new OneTrustDTO(); var access_token = ""; var collectionPointGuid_1 = ""; HttpClientHandler httpClientHandler = new HttpClientHandler() { UseProxy = true, UseDefaultCredentials = true, UseCookies = true, }; using (var client = new HttpClient(httpClientHandler)) { client.BaseAddress = new Uri("https://econsent_dev.dhipaya.co.th/econsent/api/Authentication/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("multipart/form-data")); // HTTP POST var requestContent = new MultipartFormDataContent(); requestContent.Add(new StringContent("9X2l0o96hHRky4jdCpT7hUx4PhVVCH0x2S3A2EcMJQWWiDT/wQ/hN8jH/gft1hS936Xy5q7nQCs="), "ClientId"); requestContent.Add(new StringContent("Ye+/Z3uiwKEs8bXlFzzstT98AVG7ppKwSoWQaYkhYwk="), "ClientSecret"); HttpResponseMessage response = await client.PostAsync(client.BaseAddress, requestContent); if (response.IsSuccessStatusCode && response.StatusCode == HttpStatusCode.OK) { using (HttpContent HttpContent = response.Content) { string MyContent = HttpContent.ReadAsStringAsync().Result; var jobject = (JObject)JsonConvert.DeserializeObject(MyContent); var jvalue = (JValue)jobject["token"]; access_token = jvalue.Value.ToString(); jvalue = (JValue)jobject["collectionPointId"]; collectionPointGuid_1 = jvalue.Value.ToString(); _logger.LogWarning("GetPurposes Token Success"); } } else { _logger.LogWarning("GetPurposes Token Fail"); } } if (!string.IsNullOrEmpty(access_token)) { var token = ""; var purposeid = ""; var purposelabel = ""; var purposedescription = ""; using (var client = new HttpClient()) { _logger.LogWarning("GetPurposes Start"); client.BaseAddress = new Uri("https://econsent_dev.dhipaya.co.th/econsent/api/purposes?collectionpointid=" + collectionPointGuid_1); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + access_token); // HTTP Get HttpResponseMessage response = await client.GetAsync(client.BaseAddress); if (response.IsSuccessStatusCode && response.StatusCode == HttpStatusCode.OK) { using (HttpContent HttpContent = response.Content) { _logger.LogWarning("GetPurposes Success"); string MyContent = HttpContent.ReadAsStringAsync().Result; var jobject = (JObject)JsonConvert.DeserializeObject(MyContent); var jarray = (JArray)jobject["purposes"]; foreach (var jitem in jarray) { var id = ((JValue)jitem["id"]).Value.ToString(); var giveConsent = ((JValue)jitem["giveConsent"]).Value.ToString(); purposeid = id; var languages = (JArray)jitem["languages"]; foreach (var language in languages) { var description = ((JValue)language["description"]).Value.ToString(); var name = ((JValue)language["name"]).Value.ToString(); var lang = ((JValue)language["language"]).Value.ToString(); if (lang == "th-th" && name == "การดำเนินกิจกรรมส่งเสริมการขาย") { purposelabel = name; purposedescription = description; break; } } } } } else { _logger.LogWarning("GetPurposes Fail"); } } model.token = token; model.purposeid = purposeid; model.purposelabel = purposelabel; model.purposedescription = purposedescription; model.access_token = access_token; model.collectionPointGuid = collectionPointGuid_1; } return(model); }