1. Schritt: App-Registrierung
Auf der Seite vom AzurePortal muss eine App-Registrierung durchgeführt werden.
Die wichtigsten Einstellung sind:
- Bei Zertifikate & Geheimnisse muss ein Clientschlüssel erstellt werden. (ClientSecret)
- Bei API-Berechtigungen muss Dynamics CRM ausgwählt werden.
2. Schritt: Anlegen eines Anwednungsbenutzers
Dieser Nutzer muss im CRM angelegt werden und brauch keine Lizenz. Um diesen zu erstellen, geht man in die Einstellungen --> Sichertheit --> Benutzer. Dann muss die Ansicht gewechselt werden auf "Anwendungsbenutzer" und auf "Neu" geklickt werden. Nun muss die Anwendungs-ID eingeben werden. Die restlichen Pflichtfelder sind frei konfigurierbar.
3. Schritt: C# Quellcode
Die rot markierten Teile müssen entsprechend ersetzt werden.
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/TenantId");
ClientCredentialclinetCredential = new ClientCredential("ClientId", "ClientSecret");
string token = authContext.AcquireTokenAsync("https://Tenant.crm4.dynamics.com", clinetCredential).Result.AccessToken;
using (OrganizationWebProxyClient sdkService = new OrganizationWebProxyClient("https://Tenant.crm4.dynamics.com/xrmservices/2011/organization.svc/web?SdkClientVersion=8.2", false))
{
sdkService.HeaderToken = token;
organizationServiceProxy = sdkService;
}
AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/TenantId");
ClientCredentialclinetCredential = new ClientCredential("ClientId", "ClientSecret");
string token = authContext.AcquireTokenAsync("https://Tenant.crm4.dynamics.com", clinetCredential).Result.AccessToken;
using (OrganizationWebProxyClient sdkService = new OrganizationWebProxyClient("https://Tenant.crm4.dynamics.com/xrmservices/2011/organization.svc/web?SdkClientVersion=8.2", false))
{
sdkService.HeaderToken = token;
organizationServiceProxy = sdkService;
}