当前位置: 首页 > 知识库问答 >
问题:

授权Dynamics 365业务中心API

阳建弼
2023-03-14
ClientCredential clientCredential = new ClientCredential(clientId, clientSecret);
var authenticationContext = new AuthenticationContext(authorityUri, true);
AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(resource, clientCredential).GetAwaiter().GetResult();
accessToken = authenticationResult.AccessToken;

现在,由于我的web作业需要在没有任何用户交互的情况下在后端运行,所以Azure广告身份验证不适合这里,因为它需要用户交互的同意。但是对于生产场景不建议使用基本身份验证。
请建议如何生成访问令牌,以便不需要用户交互。

编辑

根据Allen的答复,基本身份验证可以用于此方案,尽管需要更新Microsoft文档以支持此方案。但是,在使用Postman和基本身份验证探索APIendpointhttps://API.businesscentral.dynamics.com/v1.0/ /API/beta/companies 时,我面临以下错误:

{
    "error": {
        "code": "Authentication_InvalidCredentials",
        "message": "The server has rejected the client credentials.  CorrelationId:  641ea3fd-19d6-4402-8e68-a70145eb6da3."
    }
}

虽然我已经为我的业务中心用户生成了webservice访问密钥,并将其与用户名一起用于基本身份验证。我确信我复制的是正确的webservice密钥。如有任何帮助,我们将不胜感激。

共有1个答案

尉迟清野
2023-03-14

Dynamics 365 BC支持的身份验证方法仅有基于官方文档的以下2个选项:

  • 基本身份验证
  • AAD身份验证

基本身份验证用于无用户交互,而AAD身份验证用于用户交互。

 类似资料:
  • 也许我错过了它,但我正在试图弄清楚如何在ASP.NET核心中实现这一点。我查看了源代码(https://github.com/aspnet/security),但没有看到任何类似的内容。有没有新的方法来完成这一点?我需要创建一个控制器然后自己做吗? 我看到了如何通过中间件来设置OAuth身份验证,但这涉及到从API发出声明的授权部分。

  • 一、为什么要进行商业授权? 商业授权是软件开发者授权用户将软件用于商业用途的凭证(商业使用权利),即Niushop开源商城系统授权用户将软件用于商业用途的许可凭证,享有使用iushop开源商城系统进行商业运营的合法权利,适合所有正在使用或将要使用Niushop免费商城系统的网商用户选择!未经官方授权许可不得去除网站前后台版权标识,否则官方视为侵权。 二、商业授权有哪些优势? 永久授权,您只需购买一

  • 获取企业授权 PDF版下载 为了保证信息安全,所有API(包括第三方API及通讯录、发消息等所有API)调用需要验证来源域名。只有在应用开发信息中填写的合法授信域名才能合法调用。 获取第三方应用凭证 该API用于获取第三方应用凭证(suite_access_token)。 由于应用提供商可能托管了大量的企业,其安全问题造成的影响会更加严重,本接口除了合法来源IP校验之外,还额外需要suite_ti

  • 企业授权应用流程 PDF版下载 企业的系统管理员从管理后台-应用市场发起授权安装第三方应用,安装后如流平台会将授权凭证、授权信息等推送给服务商后台。 详细步骤: 企业管理员授权安装应用 企业的系统管理员从管理后台应用市场发起授权安装第三方应用; 授权成功,回调临时授权码 a) 授权成功后,如流企业平台会回调应用开发信息中填写的安装事件回调地址,GET参数上带上临时授权码auth_code; b)

  • 我有一个多租户项目,它将调用多个微服务来执行特定任务。 我希望微服务从发送的请求中了解要使用哪个DB,因为每个租户都将使用微服务,但是,租户将拥有自己的DB。我有另一个解决方案,它有一个处理API密钥管理的Web项目。 比方说,API密钥管理位于域:portal.example.com 当 tenant.example.com 在 microservice.example.com 调用微服务时,我

  • 笔试完好久之后才面试的(好慢啊) 我的岗位:专业英才— 产品研发 一面面筋: 已拿 差额体检 三四个人一组,然后自我介绍;接着每个人被提问,会根据学历背景问一些问题; 1.我是cs科班、被一个技术人员问了, 2.主要问了计网的基础(udp/tcp区别) 3. os的学习内容(内存管理/进城调度) 4. linux系统安装和使用的经验 (日常开发就用的arch和debian、学校项目部署在阿里云上用