多租户的Azure应用程序对其他租户不可见。

5

摘要:我如何让多租户应用程序可供其他Azure AD租户使用?

细节: 我正在编写一个C# ASP.NET库,使用它我想创建订阅并注册更改通知。 我使用Microsoft Graph API v1.0执行此操作。

我按照此文档获取服务帐户的访问令牌。 文档中列出的第一步要求我们在Azure AD门户上注册该应用程序。

由于我正在为多个客户构建此应用程序,因此我希望这是一个多租户应用程序。 我遵循了这个参考资料来注册多租户应用程序,但我有一个问题,即如何使其他租户发现这个应用程序?

我需要发布它才能实现这一点吗? 如果是,请引导我查找任何告诉如何执行此操作的文章?


1
不,你不需要。对于多租户应用程序,应用程序的初始注册位于开发人员使用的Azure AD租户中。当来自不同租户的用户首次登录应用程序时,Azure AD会要求他们同意应用程序请求的权限。如果他们同意,则在用户的租户中创建一个名为服务主体的应用程序表示。 - Tony Ju
1
感谢您回复@CaiyiJu。在我的情况下,由于这只是一次性的事情,我希望其他租户的管理员可以从Azure门户本身授予应用程序同意。但是到目前为止,当我以与创建应用程序不同的租户身份登录时,我还没有看到这个应用程序。 - Swasti Gupta
1
您是指任何租户的企业应用程序选项卡下,还是创建此应用程序的选项卡下? 基本上,我心中的想法是,其他租户应该能够在某个地方(市场或企业应用程序)看到此应用程序,然后导航到应用程序内的授权子选项卡,并为其域中的所有用户授予应用程序的管理员同意。这是否可行? - Swasti Gupta
1个回答

4
我需要发布它才能实现这个吗?
不需要。对于多租户应用程序,应用程序的初始注册位于开发人员使用的Azure AD租户中。当来自不同租户的用户首次登录应用程序时,Azure AD会要求他们同意应用程序请求的权限。如果他们同意,则在用户的租户中创建了应用程序的表示形式,称为服务主体。 您是指任何租户的企业应用程序刀片还是创建它的租户?
一旦来自该租户的用户登录应用程序,它将存在于任何租户中。

2
该应用程序将在几个小时内独立于用户交互的背景下执行。因此,用户将无法从门户授予此应用程序同意。是否有其他方式可以获得管理员同意? - Swasti Gupta
2
@SwastiGupta 用户第一次使用应用程序时必须登录,然后该应用程序将存在于企业应用程序下(在用户所属的租户中)。如果此用户不是管理员,则需要让管理员登录应用程序并授予管理员同意。或者让管理员登录Azure门户并在企业应用程序下找到应用程序以授予管理员同意。管理员同意后,其他用户可以直接登录。我们只能通过交互方式获得管理员同意。 - Tony Ju
各位,你们知道有没有好的教程或示例可以达到这个目标吗?谢谢。 - Alberto S.
1
@Alberto,你能再解释一下你想要实现什么吗? - Swasti Gupta
我想创建一个 Azure 应用程序,该应用程序的 ID/密钥可以在不同租户、不同公司之间使用。我尝试了“多租户”Azure 应用程序选项,但它无法在另一个 sp 租户中进行身份验证,即使已在 appinv.aspx 中注册。 - Alberto S.
@TonyJu,您能否详细说明一下“或者让管理员登录Azure门户,在企业应用程序下找到该应用程序以授予管理员同意”的内容?作为租户管理员,我尝试在注册为另一个租户的多租户应用程序下查找应用程序,但是我无法找到。目前,我通过手动创建的URL登录了该后台服务应用程序,作为一种解决方法。 - rahulaga-msft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接