Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }