2
votes

does Microsoft Dynamics CRM Online (2015) has some feature for authentication and authorization of external apps that needs to access CRM data records from all CRM entities?

External apps are in my case 3rd party Windows Services etc. to perform some sync and automation tasks, and these apps does not have any user interface or interaction. Apps has access with CRM SDK, OData and WCF/SOAP.

Of course, basic solution is to create new Office 365 user with CRM Pro license and use this user for API access. However I was wondering is there any kind of "special user". For example, SharePoint Online and on-premise has “SharePoint App Authentication and authorization”. Is there a way for similar staff in CRM 2015 ?

2

2 Answers

3
votes

There is a setting on the user called Access Mode that, when set to Non-interactive, makes it so the user doesn't consume a license. Here's an article that outlines how to set a user up for this type of access:

http://www.crminnovation.com/blog/crm-online-non-interactive-user/

0
votes

MS Dynamics CRM Authentication using soap web api

ClientCredentials credentials = new ClientCredentials();

credentials.UserName.UserName = "********";
credentials.UserName.Password = "********";
Uri serviceUri = new Uri("https://********.api.crm.dynamics.com/XRMServices/2011/Organization.svc");
credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
Uri HomeRealm = null;
OrganizationServiceProxy proxy = new OrganizationServiceProxy(serviceUri, HomeRealm, credentials, null);
{
    _service = (IOrganizationService)proxy;
    //fields mapping with Dynamics crm entity fields

    //pushing the data to Dynamics crm using aspx page

    Entity contact = new Entity("contact");
    contact["firstname"] = txtFirstName.Text.ToString();
    Guid newContactId = _service.Create(contact);

    txtFirstName.Text = "";
}