使用ADFS 3.0的Dynamics CRM api HttpClient请求身份验证

问题描述 投票:2回答:1

我有一个内部Dynamics CRM(2016),它配置有ADFS(3.0)。当用户想要登录时,他们将被重定向到ADFS登录页面,并且用户输入其Windows AD凭据。

。NET核心应用程序中,我需要使用HttpClient向CRM API发出请求。当我尝试像往常一样为Windows Auth CRM发送凭据时,它不起作用。我收到401未经授权。如下所示。

HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = new NetworkCredential("myuser", "mypassword", "mydomain") });
var result = client.GetAsync("https://mycrmaddress/api/data/v8.0/accounts");

[我还尝试使用Adal检索令牌并将其作为不记名令牌附加到请求中,但是我无法使用adal获得令牌。当我尝试时,会收到以下信息:

The authorization server does not support the requested 'grant_type'. The authorization server only supports 'authorization_code'

ADFS 3.0不支持此流程。

我无法升级到ADFS 4.0,所以我想知道对CRM api进行经过身份验证的调用有哪些选择(由于此应用程序是服务,因此不会提示登录窗口)。>>

我可以在ADFS上进行任何配置,以便第一个示例工作吗?还是即使ADFS 3.0也可以使用Adal?或任何其他解决方案...

我有一个内部Dynamics CRM(2016),它配置有ADFS(3.0)。当用户想要登录时,他们将被重定向到ADFS登录页面,并且用户输入其Windows AD凭据。 ...

c# dynamics-crm adfs
1个回答
2
投票

我找到了问题的答案。这有点黑,但是我自己测试了一下,而且效果很好。作为临时解决方案,可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.