首页 > 解决方案 > 在 Azure AD 中注册应用以访问 CDS Web API

问题描述

我试图弄清楚如何将外部应用程序与 Microsoft CDS Web API 集成。第一步是尝试使用 Postman 的 Wep API。按照此文档,我可以使用文档中提供的客户端 ID 进行身份验证并向 API 发出请求。但是,当我尝试在我的 AAD 中注册我自己的应用程序时,我无法在 Postman 中获取访问令牌,而无需先请求管理员同意。

我按照本文档中的说明注册了应用程序,另外我允许隐式流程。A 在试用帐户中执行此操作,我是管理员,然后我尝试使用另一个租户的用户(我不是管理员)检索令牌,它告诉我征求租户的同意。

您知道如何在非管理员用户无需征得管理员同意的情况下注册应用程序吗?

编辑:
注册的应用程序具有以下权限,其中没有一个需要管理员同意:
所选权限的屏幕截图

非管理员用户所属的租户具有以下配置,用户可以同意访问:
用户设置截图

无论如何,我认为这些最后的设置不会是问题,因为在第一个链接的示例中使用 Microsoft 提供的客户端 ID 请求令牌时,我不需要管理员的同意。

只是为了清楚起见,这是我想从授权过程中删除的步骤: 同意请求屏幕的屏幕截图

标签: azureazure-active-directorydynamics-crmcommon-data-service

解决方案


首先,您需要知道并非所有权限都需要管理员同意。

Dynamics CRM user_impersonation权限不需要管理员同意。

在此处输入图像描述

但是您需要确保添加到您注册的应用程序中的所有权限都不需要管理员同意。只要任何权限需要管理员同意,就不能绕过管理员同意。

此外,确保此配置已在租户(非管理员用户来自)中启用。

在此处输入图像描述

更新:

你是对的。经过测试,我发现这个权限确实需要管理员同意。我相信这是文档中的错误。似乎结论是我们不能绕过管理员同意。


推荐阅读