habe ich versucht, die folgenden:Ist es möglich, einen Dienstprinzipal zu verwenden, um sich gegen dynamics crm online zu authentifizieren?
AuthenticationParameters ap = await AuthenticationParameters.CreateFromResourceUrlAsync(
new Uri($"{CrmServiceUrl}/api/data/"));
var _authenticationContext = new AuthenticationContext(ap.Authority);
AuthenticationResult result = await _authenticationContext.AcquireTokenAsync(ap.Resource, new ClientCredential(_clientID,secret));
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
var req = await client.GetAsync($"{CrmServiceUrl}/api/data/v8.1/accounts?$select=name&$top=3");
Console.WriteLine(await req.Content.ReadAsStringAsync());
aber
HTTP Error 401 - Unauthorized: Access is denied
clientid bekommen und Geheimnis ist ein azur ad Service Principal.
endete am Hinzufügen eines zusätzlichen Benutzers und dann den Ressourcen-Besitzer-Fluss gegen azurblau AD verwenden, um Token für diesen Benutzer zu erhalten, dann hat alles funktioniert. Aber keine Möglichkeit, ein Service-Prinzipal zu verwenden –