2017-04-04 135 views
1

我需要将我的Web应用程序(多租户SaaS产品)集成到我的用户的Dynamics CRM中,以便它可以提取他们的数据。Microsoft Dynamics CRM OAuth集成

我已经了解到,Azure中的Active Directory应用程序可以照顾这样的整合(OAuth的),但我想不出我的用户如何授予他们的Dynamics CRM中的数据我的应用程序的访问。

很显然,我的每一个用户应该创建一个Azure的AD应用程序(访问其动态CRM账户),然后我的Azure的AD应用程序应该被授权代表他们AD应用程序的请求。

我不知道如何让这个过程工作。

任何意见将不胜感激。

回答

1

对于动态CRM版本2016和365,数据可以经由Web API访问。

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

为了获得一个道理,我会用Azure AD authentication Library(ADAL)建议。

要通过ADAL与动态CRM认证,你就必须用动态CRM一起注册在Azure中的Active Directory你的Web应用程序。注册您的应用将为您提供一个客户端ID,这是OAuth 2.0授权流程所需的。 This post is very useful

+0

感谢戴夫的回答。对不起,我不得不提一提,我对OAuth的一般功能非常​​熟悉。问题是我的Azure Active Dir应用程序需要访问多个用户的动态crm数据。这是棘手的地方。当我尝试将我的AD应用授权给我的消费者动态帐户时,我不断收到不同的错误。 – Genzo

0

如果您的应用程序将具有管理员权限,那么将有机会获得其他用户的数据。有几件事情,你应该确保配置的OAuth时,检查: http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx

如此突出,从我的角度看,最重要的事情:

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

对不起,帕维尔的回复晚了。感谢您的解释和链接。它帮助我了解我的问题是什么。我希望我能尽快在这里发布工作代码。 – Genzo

相关问题