如何在没有注册任何初始 clientId 的情况下以编程方式将应用程序添加到 Azure AD?

How to add application to Azure AD programmatically without having any initial clientId registered?

我想在 Azure AD 中自动创建应用程序(不使用管理门户)。 我还想仅使用 Graph api(不使用 PowerShell)来建立它。我已经看到讨论这个问题的线程 (),但它并不能完全满足我的需要。

由于我需要已经拥有 clientId 才能获取身份验证令牌并调用任何图形 apis,因此我无法真正自动化初始应用程序创建过程。 (我有鸡和蛋的问题)。 利用 Powershell 的 clientId 获取身份验证令牌的解决方法很棒,但我不能使用它。

是否有最近添加的任何其他选项可以提供帮助?

谢谢!!

不幸的是,为了让您能够对 Graph API 进行身份验证,您将需要一个现有的应用程序身份。请记住,Graph API 只是一个在 AAD 中注册的资源应用程序,您需要有一个客户端应用程序才能获得对任何资源的访问令牌。

根据我对我们的应用程序模型和注册经验的未来计划的了解,我相信使用某种 'user-centric' 经验来创建第一个应用程序始终是一项基本要求,然后随后允许您创建更多应用程序。在这里更具体地说,像 AAD PowerShell 或我们的应用 Registration/Management 门户。

这样想:如果有这样一个完全独立于用户的进程,允许创建应用程序,什么可以阻止恶意个人攻击您的租户或任何租户?请记住,我们为租户设置了对象配额,因此在您的租户中创建数百万个应用程序的人会阻止您创建用户、组等...

但是,我们认为有效的场景与客户需要解决的实际问题之间可能存在一些脱节。你能告诉我们更多关于你的具体要求和限制的信息吗?驱动这些因素的场景是什么?