提供令牌的Dynamics CRM 401

时间:2017-09-25 11:05:43

标签: node.js azure dynamics-crm

我正在为单租户服务器到服务器身份验证进行动态crm集成。这是获取令牌的必要条件,因为数据将用于创建面向客户的用户。

因此,我使用client_credentials授权类型从Azure获取令牌。但是,当我尝试使用此令牌访问任何动态端点时(例如此处记录的那些:https://msdn.microsoft.com/en-us/library/mt607871.aspx) 我得到的全部是401 - 访问被拒绝。

我做了以下事情:

  • 创建Azure应用程序

  • 创建并存储密钥

  • 启用Dynamics CRM Online的权限

我已经看到一些建议,我需要CRM本身的服务用户提供访问权限,但是当我尝试创建一个时,所描述的选项不会出现。 (例如:https://msdn.microsoft.com/en-us/library/mt790170.aspx#bkmk_ManuallyCreateUser

你能否提出我在这里可能缺少的任何步骤?

使用令牌

进行示例调用
{ method: 'GET',
url: 'https://<snip>/api/data/v8.2/accounts?$select=name&$top=3',
headers:
{ Authorization: 'Bearer <snip>',
Accept: 'application/json',
'OData-MaxVersion': '4.0',
'OData-Version': '4.0' }
}

编辑: 请注意我在这里使用node.js并且基于C#/ .net的答案可能不会有太大的帮助

1 个答案:

答案 0 :(得分:1)

以下是关于如何configure server to server auth的帖子。假设您已经完成了除创建应用程序用户之外的所有步骤,您可以通过以下方式执行此操作:

  1. 在CRM中导航到设置 - >安全 - >用户
  2. 更改&#34;已启用用户&#34;到#34;应用用户&#34;
  3. 从新用户表单中更改表格&#34; User&#34;到#34;应用程序用户&#34;。
  4. enter image description here

    您现在应该可以创建应用程序用户了。