2017-01-03 3 views
0

В настоящее время я разрабатываю приложение для javascript, и я пытаюсь получить доступ к API-интерфейсу Dynamics CRM для получения некоторой информации из CRM.Dynamics CRM Web API с внешнего сайта (javascript)

Мое приложение, размещенное внутри службы приложений Azure (и тестирование на локальном хосте), и доступно только для аутентифицированных пользователей (через microsoft), поэтому, когда пользователи пытаются загрузить приложение, azurewebsites перенаправляют их на общую страницу входа в систему OAUTH (https://login.microsoftonline.com/common/oauth2/authorize?...).

После успешного входа в систему пользователи перенаправляют обратно в мое приложение javascript, а затем, когда документ готов, я хотел бы назвать динамическую CRM-сеть api для извлечения некоторой сущности (через jQuery-ajax-запрос), но я получаю следующее сообщение об ошибке в консоли JS:

XMLHttpRequest cannot load https://MYTENANTID.crm4.dynamics.com/api/data/v8.1/contacts. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://MYAPP.local' is therefore not allowed access. The response had HTTP status code 401. 

Я знаю, что это bacause из той же политики происхождения, возникает вопрос: можно ли доступ к API-интерфейс со стороны клиента на всех, или мне нужно сделать это в серверная сторона?

+1

Вы видели [это] (https://msdn.microsoft.com/en-us/library/mt595799.aspx?f=255&MSPPError=-2147217396) Страница SDK? – Polshgiant

+0

Спасибо, я только нахожу Угловую версию этого учебника ADAL.js, кажется, я не искал достаточно. Еще раз спасибо! – RobbeR

ответ

0

В соответствии с вашим сообщением об ошибке кажется, что это обычная проблема CORS, когда мы вызываем запрос с клиентской стороны на наш серверный сервер.

Обычно мы добавляем заголовки ответов на серверный сервер для поддержки CORS. И вы можете обратиться к https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api за дополнительной информацией о том, как включить запросы Cross-Origin в ASP.NET Web API.

И CRM 2016 имеет поддержку настройки CORS, пожалуйста, обратитесь к https://msdn.microsoft.com/en-us/library/gg309589%28v=crm.8%29.aspx?f=255&MSPPError=-2147217396#bkmk_corsSupport за дополнительной информацией.

Смежные вопросы