在 Azure AD 中注册应用程序以访问 CDS Web API

Register app in Azure AD to access CDS Web API

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

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

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

编辑:
已注册的应用程序具有以下权限,其中 none 需要管理员同意:
Screenshot of the selected permission

非管理员用户所属的租户具有以下用户能够同意访问的配置:
Screenshot of user settings

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

为了清楚起见,这是我想从授权过程中删除的步骤: Screenshot of the consent request screen

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

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

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

此外,请确保此配置已在租户中启用(non-admin 用户来自该租户)。

更新:

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