Microsoft Dynamics CRM OAuth集成

时间:2017-04-04 11:24:45

标签: azure active-directory dynamics-crm

我需要将我的网络应用程序(多租户SaaS产品)集成到我的用户中。 Dynamics CRM可以提取数据。

我了解到Azure Active Directory应用可以处理此类集成(OAuth),但我无法弄清楚我的用户如何授予我的应用访问其Dynamics CRM数据的权限。

显然,我的每个用户都应该创建一个Azure AD应用程序(可以访问他们的Dynamics CRM帐户),然后我的Azure AD应用程序应该被授权代表他们的AD应用程序发出请求。

我不知道如何让这个过程发挥作用。

非常感谢任何建议。

2 个答案:

答案 0 :(得分:1)

对于Dynamics CRM版本2016和365,可以通过Web API访问数据。

通过发送HTTP GET请求来使用Web API时,请求标头必须采用以下格式:{ 'Authorization': 'Bearer' + token }其中token是OAuth 2承载令牌。

要获得令牌,我建议使用Azure AD authentication Library(ADAL)。

要通过ADAL对Dynamics CRM进行身份验证,您必须在Azure Active Directory下注册Web应用程序以及Dynamics CRM。注册您的应用程序将为您提供OAuth 2.0授权流程所需的客户端ID This post is very useful

答案 1 :(得分:0)

如果您的应用具有管理权限,则可以访问其他用户的数据。在配置OAuth时,您应该确定几件事,请检查以下内容: http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx

所以从我的角度强调最重要的事情:

  • 你应该有一个特殊的用户来处理
  • 此用户不应分配任何许可证 - 因此您必须为他签署许可证,并在完成配置后将其取回
  • 用户应具有自定义角色(可以从系统管理员复制角色)