Dynamics CRM 2016 Online Rest API mit Client-Anmeldeinformationen OAuth flow

Ich versuche, mich mit Dynamics CRM 2016 Online und Azure Active Directory zu authentifizieren. Ich konnte hier alle Schritte nachvollziehen:

https: //msdn.microsoft.com/en-us/library/mt622431.asp undhttps: //msdn.microsoft.com/en-us/library/gg327838.asp

Aber diese Schritte zeigen, wie der Ablauf der Benutzernamenauthentifizierung eingerichtet wird. Ich möchte den Clientanmeldeinformationsfluss verwenden. Ich habe in Azure AD eine neue App erstellt - eine Webanwendung. Ich habe eine Kunden-ID und einen App-Schlüssel und richte die Berechtigungen für Dynamics CRM Online ein. Ich kann das Zugriffstoken abrufen, erhalte jedoch bei nachfolgenden Aufrufen den folgenden Fehler:

HTTP-Fehler 401 - Nicht autorisiert: Zugriff verweigert

Ist da ein Schritt, den ich verpasst habe? Kennt jemand irgendwo einen Beitrag, der Details darüber enthält, wie dieser Ablauf funktioniert?

Hier ist mein Code:

        string clientId = "<client id>";
        string appKey = "<app key>";

        // Get the authority and resource URL at runtime
        AuthenticationParameters ap = AuthenticationParameters.CreateFromResourceUrlAsync(new Uri("https://<org address>/api/data/")).Result;
        String authorityUrl = ap.Authority;
        String resourceUrl = ap.Resource;

        // Authenticate the registered application with Azure Active Directory.
        AuthenticationContext authContext = new AuthenticationContext(authorityUrl);
        ClientCredential clientCredential = new ClientCredential(clientId, appKey);

        AuthenticationResult result = authContext.AcquireToken(resourceUrl, clientCredential);

        HttpClient client = new HttpClient();
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
        HttpResponseMessage response = client.GetAsync("https://<org address>/api/data/v8.1/EntityDefinitions").Result;

Antworten auf die Frage(2)

Ihre Antwort auf die Frage