我正在为单租户服务器到服务器身份验证进行动态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的答案可能不会有太大的帮助
答案 0 :(得分:1)
以下是关于如何configure server to server auth的帖子。假设您已经完成了除创建应用程序用户之外的所有步骤,您可以通过以下方式执行此操作: