【发布时间】:2017-04-19 13:51:57
【问题描述】:
如何在使用 Angular 2 (TypeScript) 构建的 SPA 中通过 Dynamics CRM Web API 进行身份验证和查询?
迄今为止的研究表明:
- Dynamics CRM(2016 或 365 版)实例必须在 Azure 中注册为应用程序。
- 用户可以通过 Azure AD 对 Azure 注册的应用程序进行身份验证。 Azure 有一个名为 ADAL 的客户端身份验证库,用 JavaScript 编写。
到目前为止,我的尝试涉及克隆使用 ADAL 构建的各种 Angular 2 存储库,例如 this one,并编辑它们的配置文件以指向我的 Azure 应用程序。这些尝试都导致了401 (Unauthorized) cross-domain 错误,在我的separate question 中有详细说明。
在 this 中使用相同的配置(例如 cliendId)来自 Microsoft 的 JavaScript 演练是成功的。
【问题讨论】:
-
在引入 Angular 复杂性之前,您是否已完成此演练以确保一切正常:msdn.microsoft.com/en-us/library/mt595797.aspx?
-
我已经能够成功完成该演练。为了让它工作,我必须使用我的 Dynamics 实例的 Service Root URL 而不是文档要求的 organizationURI。我还必须将 API 版本从 v8.0 更改为 v8.2。
标签: angular azure typescript dynamics-crm adal