Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Blogs
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

Опции темы Поиск в этой теме Опции просмотра
Старый 18.05.2018, 21:17   #1  
Blog bot is offline
Blog bot
25,497 / 847 (79) +++++++
Регистрация: 28.10.2006
powerobjects: Authentication to Dynamics 365 using Azure Apps

There are many scenarios where you might need to make a connection to Microsoft Dynamics 365 from an outside source whether it be a single page application, a mobile application, or within some other service. In almost all these situations, authenticating to Dynamics 365 can be a bit challenging. That is until now!

Let’s face it, nobody wants to deal with messy SOAP handshake protocols or developing/hosting/managing middleware just to establish a connection to Dynamics 365 from your latest mobile app or through new code running in some website backend. With the help of Azure Apps, we can drastically simplify the development of applications that need a connection to Dynamics 365 (or any other Microsoft Services).

You can perform all of the following steps by creating a trial Dynamics 365 account from Microsoft (did you know that you can access Azure AD without putting in your credit card info?) Below are some high level steps to set up an app in Azure, get a token using that info from C# code, and using the token from a simple JS code to access Dynamics 365.

Setting Up an App in Azure

1. Navigate to Azure Active Directory > App registrations > Click + New application registration

2. Now fill in the required fields as shown below and hit Create. Note that the sign-on URL only matters for something like a single page application – otherwise just putting a localhost URL is just fine.

3. Awesome! Now you have successfully created an Azure app. Double click the app and you will see its details as below.

4. Our next step is to give permission to the app to access Dynamics 365. Navigate to Required permissions and click +Add. Then select Dynamics 365 Online API.

5. Make sure to check the Delegated Permissions checkboxes as shown below. Also, click the Grant Permissions button for the changes to take effect.

6. We have one more thing to setup! Navigate to Keys, create a new key, and copy the value ASAP, be sure to save it somewhere (as it will be hidden in future).

7. Navigate to Endpoints in the App registrations list view and copy the OAUTH 2.0 AUTHORIZATION ENDPOINT URL that you will need in the code later.

Setting Up the Application user in CRM

Now that we have our Azure app set up complete, we’ll move on to creating an application user.

1. Once you create the app user, make sure to give it a custom Security role that has the access you want this user to have.

2. Navigate to your Dynamics 365 org > Settings > Security. Change the view to Application Users and then click +New.

3. This will show you a new user form (make sure to change the form to “APPLICATION USER”) where you will only need to fill the “Application ID” field. Use the application ID you created from your Azure app in the previous steps.

Sample C# code for testing above configurations

Now let’s look at the C# code that uses this app to retrieve an Authentication token. We are using the sample code that you can get here.

1. You will need to get the client Id, secret key value, resource URL, and OAUTH 2.0 Authorization Endpoint as described in the previous steps to successfully get the token from the C# code below.

2. We have shown the token in Visual Studio’s immediate window, but this token string is what your C# app will return. For the demo, we used the console app but this console app can be hosted in something like an Azure function so that it can be called from anywhere and isn’t too difficult to retrieve the Dynamics 365 authentication token.

Sample JS Code for Connecting to Dynamics 365 using the Token

Now that we have the token, let’s use it in a simple JS code. We generated a simple rest call snippet using CRM Rest Builder and we’re running the JS code inside jsfiddle. As you can see in the screenshot below, we have successfully sent the WhoAmI request to the Dynamics 365 org and retrieved the values as shown in the alert boxes below.

We hope this method will save some of the CRM developers out there some time and effort when dealing with creating custom third party applications that need to talk to Dynamics 365.

For more helpful Dynamics 365 tips and tricks, be sure to subscribe to our blog!

Happy Dynamics 365’ing!

Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
powerobjects: Capturing Signatures in Dynamics 365 Blog bot Dynamics CRM: Blogs 0 16.04.2018 23:15
powerobjects: Spring Update Webinar Series for Dynamics 365 Blog bot Dynamics CRM: Blogs 0 13.04.2018 21:14
powerobjects: Field Service Mobile App: Set up and Configuration for Dynamics 365 Online Blog bot Dynamics CRM: Blogs 0 16.01.2018 01:12
survivingcrm: From AppSource to Solutions to Dynamics 365 Apps Blog bot Dynamics CRM: Blogs 0 14.01.2018 19:16
german_nav_developer: Buildnummern-Übersicht Microsoft Dynamics NAV 2009 SP1 Blog bot Dynamics CRM: Blogs 0 11.06.2010 16:33
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Часовой пояс GMT +3, время: 21:28.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.