首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >具有客户端断言证书(Azure AD)的Dynamics CRM守护程序应用程序提供401

具有客户端断言证书(Azure AD)的Dynamics CRM守护程序应用程序提供401
EN

Stack Overflow用户
提问于 2016-10-12 12:08:54
回答 1查看 361关注 0票数 0

我在一个应用程序上工作,我需要在后台作业中保持与Dynamics CRM app的一些对话(每隔几分钟上传更新的内容)。

由于使用用户凭据(应用程序权限)的ADAL身份验证与CRM app完美配合使用,因此我的印象是,我也会将其与客户端断言证书凭据一起使用。

代码看起来像这样-

代码语言:javascript
代码运行次数:0
运行
复制
var certCred = new ClientAssertionCertificate(clientId, cert);
var result = await authContext.AcquireTokenAsync("https://<tenant_name>.crm4.dynamics.com/", certCred);

这是可行的,并且我能够获得访问令牌。但是,由于这些是委派权限,因此我无法执行获取授权以访问CRM WebAPI。

显然,我可以使用服务/守护程序帐户来执行后台任务,但我想更多地使用客户端断言证书的方式。有没有人找到了这种情况的解决方案?CRM WebAPI是否支持委派权限?

还有没有别的办法呢?

EN

回答 1

Stack Overflow用户

发布于 2016-10-12 16:36:13

我想先澄清一些概念。客户端凭据流用于获取应用程序权限,而不是应用程序的委托权限。通常使用OAuth 2.0代码授权流来获取委托权限。

从描述中可以看出,您似乎希望通过客户端凭据流获得应用程序权限,但是令牌对于调用Dynamics CRM Web API是无效的。经过研究,我发现这个问题被多次提出,但没有答案。

根据我的理解,Dynamics CRM Web API似乎不支持app-token(使用客户端凭据流获取),因为当您在Azure上注册此API的应用程序时,我们无法检查应用程序级别的任何权限/范围,如下图所示:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39990362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档