I have never used that to connect to d365 from .netCore.
I use this:
AuthenticationContext authContext = new AuthenticationContext("login.microsoftonline.com/" tenantId, false);
ClientCredential credential = new ClientCredential(clientId, secret);
AuthenticationResult result = await authContext.AcquireTokenAsync(serviceUrl, credential);
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the JWT token");
}
string atoken = result.AccessToken;
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(serviceUrl);
client.Timeout = new TimeSpan(0, 2, 0); //2 minutes
client.DefaultRequestHeaders.Add("OData-MaxVersion", "OData-MaxVersion");
client.DefaultRequestHeaders.Add("OData-Version", "4.0");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
HttpRequestMessage request =
new HttpRequestMessage(HttpMethod.Get, "/api/data/v9.0/opportunities?$select=name");
//Set the access token
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", atoken);
HttpResponseMessage response = client.SendAsync(request).Result;
if (response.IsSuccessStatusCode)
{
//Get the response content and parse it.
JObject body = JObject.Parse(response.Content.ReadAsStringAsync().Result);
// Guid userId = (Guid)body["UserId"];
// Console.WriteLine("Your system user ID is: {0}", userId);
Console.WriteLine(body.ToString());
Console.ReadLine();
}
}