Я не могу получить токен доступа. NET Консольное приложение. Я написал модульный тест, который не прошел.
Пост, однако, работает от почтальона, а также в консольном приложении, если у меня в фоновом режиме работает fiddler, расшифровывающий запросы https.
У меня нет знаю, почему fiddler заставляет его работать, но если он работает, я получаю токен доступа
Я получаю ошибки: «База данных ***** не найдена в файле конфигурации базы данных» или «Client_id» или «Client_secret» недействителен '
Код указан ниже:
var url = _baseUrl + "token";
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, url);
var grantType = "password";
var integrated = "N";
var username = ConfigurationManager.AppSettings["Deltek.Username"];
var password = ConfigurationManager.AppSettings["Deltek.Password"];
var database = ConfigurationManager.AppSettings["Deltek.DatabaseName"];
var clientId = ConfigurationManager.AppSettings["Deltek.ClientId"];
var clientSecret = ConfigurationManager.AppSettings["Deltek.ClientSecret"];
Dictionary<string, string> values = new Dictionary<string, string>();
values.Add("username", username);
values.Add("password", password);
values.Add("grant_type", grantType);
values.Add("integrated", integrated);
values.Add("database", database);
values.Add("client_Id", clientId);
values.Add("client_secret", clientSecret); // _keyvaultservice.getSecret(keyvault + secretname)
var content = new FormUrlEncodedContent(values);
request.Content = content;
ServicePointManager.SecurityProtocol =SecurityProtocolType.Ssl3 |SecurityProtocolType.Tls12;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
var response = await _client.SendAsync(request);
string json = await response.Content.ReadAsStringAsync();
return await response.Content.ReadAsAsync<DeltekToken>();