Dynamics 365 API с использованием AAD v2

Я пытаюсь получить доступ к Dynamics 365 Online API через SPA. Но я хочу использовать конечную точку авторизации v2. Я регистрирую свое приложение в AAD и назначаю разрешения для Dynamics CRM (я использую блэйд предварительного просмотра, который позволяет мне указать Dynamics). В нем не говорится, что для Dynamics требуется согласие администратора, но когда я указываю область действия в моем SPA, на экране согласия появляется ошибка, указывающая, что мне нужно согласие администратора.

Я успешно использовал конечную точку авторизации v1 в прошлом, поэтому я подозреваю, что проблема заключается в том, как я задаю область при получении токена доступа.

Есть ли что-то особенное, необходимое для этого API? Это еще не полностью реализовано?

В моем параметре области, когда я запрашиваю свой access_token, я попытался:

<service guid>/<scope guid>
<service guid>/user_impersonation
https://<tenant>.crm.dynamics.com/user_impersonation
https://crm.dynamics.com/user_impersonation
https://dynamics.com/user_impersonation

Последние четыре указывают на то, что требуется согласие администратора. Я пробовал несколько других форматов, но они выдают ошибку, указывая, что формат неправильный или ресурс не существует - что я получаю. Но я запутался по поводу штук согласия администратора.

Любое руководство приветствуется!

0 ответов

Вам необходимо использовать область:

https://{organization}.crm.dynamics.com//user_impersonation,

Обратите внимание на двойную косую черту.

Не уверен, что это кому-то поможет, но я наткнулся на эту ветку в поисках ответов на правильную область, которую можно использовать для доступа к Dynamics 365 rest api с использованием MSAL в клиентском приложении.

Мне не нужна была user_impersonation, я просто хотел получить к ней доступ как пользователь приложения. Область действия, которая у меня сработала: "https://{организация}.api.crm3.dynamics.com//. Default"

Источник: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#client-credentials-grant-flow-and-default