【问题标题】:Dynamics CRM 401 with token provided提供令牌的 Dynamics CRM 401
【发布时间】:2018-03-06 08:02:19
【问题描述】:

我正在为单租户服务器到服务器身份验证进行动态 crm 集成。这是以不可见的方式获取令牌所必需的,因为数据将用于创建面向客户的 ui。

因此,我使用 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 的答案可能不会有很大帮助

【问题讨论】:

  • “服务器到服务器”身份验证需要创建应用程序用户。您使用的是什么 CRM 版本以及您的用户在 CRM 中的角色是什么?
  • 我使用的是 8.2 版。目前我没有应用程序用户,因为在遵循 OP 中的指南时,我似乎没有切换到应用程序用户视图的选项。我目前正在与管理员合作,以确定我是否有权采取行动,但老实说,目前只知道该选项应该在哪里会有所帮助。
  • 只是补充一下,我自己的用户有系统管理员和系统定制员的角色。我有读写权限和专业执照。
  • 不知道为什么你不能创建应用程序用户。从 CRM 转到设置-> 安全-> 用户。将视图从“启用的用户”翻转到“应用程序用户”。单击“新建”按钮。当用户表单加载时,将表单从“用户”更改为“应用程序用户”,然后您将获得正确的字段(如“应用程序 ID”)。

标签: node.js azure dynamics-crm


【解决方案1】:

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

  1. 在 CRM 中导航到设置->安全->用户
  2. 将视图从“启用的用户”更改为“应用程序用户”
  3. 从新的用户表单将表单从“用户”更改为“应用程序用户”。

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

【讨论】:

  • 有趣,我没有看到这些。我认为是时候获得支持票了
猜你喜欢
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 2010-11-21
  • 1970-01-01
  • 2021-05-26
相关资源
最近更新 更多