Azure 使用OAuth连接到Dynamics 365客户参与web服务

Azure 使用OAuth连接到Dynamics 365客户参与web服务,azure,dynamics-crm,dynamics-365,Azure,Dynamics Crm,Dynamics 365,我正在尝试使用下面链接中提供的参考连接到dynamics 365 在以下代码处进行用户身份验证后,控件转到catch块 说 “请求正文必须包含以下参数:'客户端\u机密或客户端\u断言'” 我知道,对于其他Microsoft应用程序,我们可以使用客户端应用程序密钥和客户端密钥获取访问令牌,但这是一个只有客户端应用程序密钥的Azure目录应用程序。如果我的理解有误,请纠正。您使用的是哪种版本的ADAL?看起来你需要2.x才能工作。从您链接的文档页面: 您必须使用ADAL2.0库。所有Dynami

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

在以下代码处进行用户身份验证后,控件转到catch块 说

“请求正文必须包含以下参数:'客户端\u机密或客户端\u断言'”


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

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

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


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

我们必须在azure目录中创建单个应用程序才能访问Dynamics 365吗。不行,我们在Azure目录中创建一个应用程序,并像在Microsoft App portal中一样访问其他客户端的Dynamics 365?@HyderAhmed是的,你可以。不过我会为此提出一个新问题。我不完全确定这将如何运作,答案也可能取决于你具体情况的细节。
AuthenticationResult result = authContext.AcquireToken(resource, clientId, new Uri(redirectUrl));