我正在开发一个应用程序,我需要继续与后台作业中的某些Dynamics CRM API交谈(每隔几分钟就可以上传更新的内容)。
由于使用用户凭据(应用程序权限)的ADAL身份验证可以完美地使用CRM API,因此我觉得我也会使用客户端断言证书凭据。
代码看起来像这样 -
var certCred = new ClientAssertionCertificate(clientId, cert);
var result = await authContext.AcquireTokenAsync("https://<tenant_name>.crm4.dynamics.com/", certCred);
这有效,我可以获得访问令牌。但是,由于这些是委派权限,因此我无法获得授权访问CRM WebAPI。
我显然可以使用服务/守护程序帐户来执行后台任务,但我想在客户端断言证书方式中做更多。有没有人找到像这样的场景的解决方案? CRM WebAPI是否支持委派权限?
还有其他办法吗?