【问题标题】:Dynamics 365 API using AAD v2使用 AAD v2 的 Dynamics 365 API
【发布时间】:2018-11-28 04:52:41
【问题描述】:

我正在尝试通过 SPA 访问 Dynamics 365 Online API。但我想使用 v2 授权端点。我在 AAD 中注册我的应用程序并为 Dynamics CRM 分配权限(我正在使用允许我指定 Dynamics 的预览注册刀片)。它没有说 Dynamics 需要管理员同意,但是当我在我的 SPA 中指定范围时,我在同意屏幕上收到一个错误,表明我需要管理员同意。

我过去曾成功使用过 v1 授权端点,所以我怀疑这是我在检索访问令牌时如何指定范围的问题。

这个 API 有什么特别需要的吗?它还没有完全实施吗?

在我请求 access_token 时的范围参数中,我尝试过:

<service guid>/<scope guid>
<service guid>/user_impersonation
https://<tenant>.crm.dynamics.com/user_impersonation
https://crm.dynamics.com/user_impersonation
https://dynamics.com/user_impersonation

最后四个表示需要管理员同意。我尝试了其他一些格式,但它们错误表明格式不正确或资源不存在 - 我明白了。但我对管理员同意部分感到困惑。

任何指导表示赞赏!

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api microsoft-dynamics dynamics-365 microsoft-graph-security


    【解决方案1】:

    您需要使用以下范围:

    https://{organization}.crm.dynamics.com//user_impersonation.

    注意双斜线。

    【讨论】:

    • 您先生,救了我的命。我在文档中搜索 resource 我必须在动态请求中设置的内容。谢谢!
    • 您先生,也拯救了我的一天!为什么微软不能为最简单的 WhoAmI 请求做一个简单的例子?!?
    【解决方案2】:

    不确定这是否对任何人有帮助,但我偶然发现此线程正在寻找正确范围的答案,以用于在客户端应用程序中使用 MSAL 访问 Dynamics 365 rest api。

    我不需要 user_impersonation,因为我只想以应用程序用户的身份访问它。对我有用的范围是: "https://{organization}.api.crm3.dynamics.com//.default"

    来源:https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#client-credentials-grant-flow-and-default

    【讨论】:

      猜你喜欢
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-23
      • 2017-05-06
      • 2018-11-09
      • 2018-06-08
      • 1970-01-01
      相关资源
      最近更新 更多