使用OAuth连接到Dynamics 365客户互动Web服务

时间:2018-04-06 11:57:01

标签: azure dynamics-crm dynamics-365

我正在尝试使用下面链接中提供的参考连接到dynamics 365

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/connect-customer-engagement-web-services-using-oauth

在以下代码的用户身份验证之后,控制转到catch块 说

  

“请求正文必须包含以下参数:'client_secret或client_assertion'”

AuthenticationResult result = authContext.AcquireToken(resource, clientId, new Uri(redirectUrl));

据我所知,对于其他Microsoft Apps,我们可以使用客户端App密钥和客户端密钥来获取访问令牌,但这是一个Azure目录应用程序,它只有Client App密钥。如果我的理解是错误的,请纠正我。

1 个答案:

答案 0 :(得分:1)

您使用的是什么版本的ADAL?看起来你需要2.x才能工作。从您链接的文档页面:

  

您必须使用ADAL 2.0库。所有Dynamics 365客户参与工具,程序集和实用程序都需要ADAL 2.0支持的模式。 ADAL 3.0库需要登录屏幕来捕获用户帐户信息,并且不提供按照Dynamics 365客户参与要求以无头方式传递此帐户信息。

我正在查看最后一段使用v2.29的测试代码,而且我没有使用这些参数的AcquireToken方法。