2017-04-04 5 views
1

Ich muss meine Webanwendung (Multi-Tenant-SaaS-Produkt) in Dynamics CRM meiner Benutzer integrieren, damit sie ihre Daten abrufen kann.Microsoft Dynamics CRM OAuth-Integration

Ich habe gelernt, dass Azure Active Directory-Apps solche Integrationen (OAuth) übernehmen können, aber ich kann nicht herausfinden, wie meine Benutzer meiner App Zugriff auf ihre Dynamics CRM-Daten gewähren können.

Offensichtlich sollte jeder meiner Benutzer eine Azure AD-App erstellen (mit Zugriff auf ihr Dynamics CRM-Konto) und dann sollte meine Azure AD-App berechtigt sein, im Namen ihrer AD-App Anfragen zu stellen.

Ich habe keine Ahnung, wie ich diesen Prozess arbeiten kann.

Jeder Rat würde sehr geschätzt werden.

Antwort

1

Für die Dynamics CRM-Versionen 2016 und 365 kann auf Daten über die Web API zugegriffen werden.

Wenn Sie die Web-API verwenden, indem Sie beispielsweise eine HTTP GET-Anforderung senden, muss ein Anforderungsheader im Format { 'Authorization': 'Bearer' + token } vorliegen, wobei token ein OAuth 2 Bearer Token ist.

Um ein Token zu erhalten, würde ich vorschlagen, die Azure AD authentication Library (ADAL) zu verwenden.

Um sich mit Dynamics CRM über ADAL zu authentifizieren, müssen Sie Ihre Webanwendung unter Azure Active Directory zusammen mit Dynamics CRM registrieren. Wenn Sie Ihre App registrieren, erhalten Sie eine Client-ID, die für den OAuth 2.0-Autorisierungsablauf erforderlich ist. This post is very useful.

+0

Danke Dave für deine Antwort. Entschuldigung, ich muss erwähnen, dass ich mit der allgemeinen Funktionalität von OAuth ziemlich vertraut bin. Die Sache ist, dass meine Azure Active Dir-App Zugriff auf die Dynamics CRM-Daten mehrerer Benutzer haben muss. Hier wird es schwierig. Wenn ich versuche, meine AD-App für mein Consumer-Dynamics-Konto zu autorisieren, erhalte ich immer wieder andere Fehler. – Genzo

0

Wenn Ihre App über Administratorrechte verfügt, hat sie Zugriff auf die Daten anderer Benutzer. Es gibt mehrere Dinge, die Sie sicher bei der Konfiguration von OAuth machen sollte, dies überprüfen: http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx

so die wichtigsten Dinge aus meiner Sicht markieren:

  • Sie, dass
  • für den Umgang mit einen speziellen Benutzer haben sollte
  • diesem Benutzer sollte keine Lizenz zugewiesen werden - so müssen Sie eine Lizenz für ihn unterzeichnen, nehmen Sie es zurück nach der Konfiguration
  • Benutzer sollte eine benutzerdefinierte Rolle haben (kann Rolle vom Systemadministrator kopiert werden)
+1

Entschuldigung für die späte Antwort Pawel. Danke für die Erklärung und auch den Link. Es half mir herauszufinden, was mein Problem war. Ich hoffe, ich kann den Arbeitscode hier bald posten. – Genzo

Verwandte Themen