public async Task <Models.KoreAuthToken> GetPublicBrandTokenAsync(string returnUrl, string brand, string locale) { var client = GetClient(returnUrl); var fullUrl = new Uri(_koreOptions.BaseUrl, "auth/brand_public_credentials/token"); var request = new Models.KoreAuthRequest() { Brand = brand, Locale = locale }; var message = await client.PostAsync(fullUrl.ToString(), SerializeAuthRequest(request)); await CheckResponseForErrorAsync(message); var data = await message.Content.ReadAsStringAsync(); var response = JsonConvert.DeserializeObject <Models.KoreAuthResponse>(data); var token = response.Tokens.First(); token.GrantType = response.GrantType; token.TrackingId = response.TrackingId; return(token); }
protected HttpContent SerializeAuthRequest(Models.KoreAuthRequest request) { var json = JsonConvert.SerializeObject(request); return(new StringContent(json, Encoding.UTF8, "application/json")); }