public async Task <TokenResponse> GetAccessTokenAsync(TokenRequest request) { var jsonData = JsonConvertExtensions.SerializeObjectSnakeCase(request); var response = await this._httpClient .PostAsync(TokenEndPoint, new StringContent(jsonData, Encoding.UTF8, "application/json")) .ConfigureAwait(false); var resultContent = await response.Content.ReadAsStringAsync().ConfigureAwait(false); return(JsonConvert.DeserializeObject <TokenResponse>(resultContent, new JsonSerializerSettings { ContractResolver = new SnakeCasePropertyNamesContractResolver() })); }