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

如何以编程方式将应用程序添加到Azure AD,而无需注册任何初始clientId?

幸越泽
2023-03-14

我希望在Azure AD中自动创建应用程序(不使用管理门户)。我还希望仅使用Graph api(不使用PowerShell)来建立此功能。我见过讨论这个问题的线程(如何以编程方式将应用程序添加到Azure AD?),但它不能完全满足我的需要。

因为我需要已经有了clientId才能获得auth token并调用任何graph apis,所以我不能真正自动化最初的应用程序创建过程。(我有鸡和蛋的问题)。利用Powershell的clientId来获取auth token的工作很棒,但是我不能使用它。

最近添加的其他选项是否有帮助?

谢谢!!

共有1个答案

焦宏硕
2023-03-14

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

根据我对我们应用程序模型和注册经验的未来计划的了解,我相信使用某种“以用户为中心”的体验来创建第一个应用程序将始终是一个基本要求,这将允许您随后创建更多的应用程序。更具体地说,类似AAD PowerShell或我们的应用程序注册/管理门户。

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

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

 类似资料:
  • AndroidR、 属性。selectableItemBackground存在,但如何通过编程将其添加到ImageButton? 此外,我如何在文档中找到答案?这里提到过,但我看不到任何关于它实际如何使用的解释。实际上,我似乎很少发现文档有用,但我希望这是我的错,而不是文档的错。

  • Spring非常出色地为注释提供了一个属性。我希望以编程方式提供带有时区的方法。 例如,假设我想在当地时间午夜打开洛杉矶和芝加哥大楼的灯。我想从我的存储库中获取建筑物。 时区可以在运行时提供还是以其他方式注入? 比如: 我知道方法不能接受任何参数,所以以这种方式提供时区是不行的。

  • 我正在使用SpringDoc,并试图以编程方式向OpenApi添加一个模式,但没有成功。 mySchema的描述没有添加到我在生成的YAML文件中看到的模式列表中,如果我试图引用它:

  • 我有一个模型,其中有一个@列(nullable=false)注释HiberNate和所有字段有nullable=false,我想以编程方式添加一些新的注释,如@NotNull和@ApiModelProperty(必需=true)-用于招摇过市。 所以,我希望能够从我的应用程序的模型中解析所有字段,获得现有的注释,并在此基础上添加新的注释。这能做到吗? 更新:问题是每次添加一个新字段,如果它不能为空

  • 本文向大家介绍如何以编程方式“重启” iOS应用程序?,包括了如何以编程方式“重启” iOS应用程序?的使用技巧和注意事项,需要的朋友参考一下 无论如何,您都无法重启iOS应用程序,即使您能够使用某些私有api,您的应用程序也将被Apple拒绝,并且不会被视为App Store版本。

  • 在Android 9中 我还在清单文件中添加了必需的权限。 当我运行这个程序时,它告诉我解析包错误时出现了问题。