我创建了一个Microsoft Graph API App
来读取/写入经过身份验证的用户的Presence和Calendar状态。该应用程序在两个租户(1个生产,1个测试)中运行良好,但在其他一些租户中,应用程序无法通过Enterprise Application
搜索或Azure AD Gallery
找到,但这对它工作的两个租户来说不是问题。
当尝试直接访问应用程序的链接时,它在一个租户上工作,而另一个租户显示404错误:
当尝试在两个租户上使用Connector应用程序进行身份验证时,我们无法在Azure门户中找到该应用程序,用户可以登录,批准范围,但随后如预期的那样进入“需要管理员批准”页面,如屏幕截图所示:
我需要更改哪些内容才能使应用程序在Azure门户中可见以获得管理员批准?
更多的思考:
- 我的一个想法是,该应用程序尚未经过验证,这是不可能的,因为我已经从个人Microsoft帐户创建了该应用程序,而不是Microsoft Work帐户。但由于它适用于其他(工作)租户,我想这不可能是问题?
- 尽管如此,我已经创建了一个测试应用程序,其中包含一个未经验证的Microsoft Work帐户(因为这需要一个MPN ID),但在这些租户中也找不到它。
- 我甚至不确定
Graph API App
是否是一个“企业应用程序” - 另一个挑战是,我无法直接访问这些其他租户,因为这是一个第三方想要测试该应用程序。
- 请注意,signInAudience设置为
AzureADandPersonalMicrosoftAccount
1条答案
按热度按时间mnemlml81#
我已从常规Microsoft帐户创建了应用程序,而不是Microsoft Work帐户。但由于它对其他(工作)租户起作用。
如果您已提供“signInAudience”:“AzureADMultipleOrgs”,它适用于其他租户,但它们是工作帐户,因此它将适用于使用工作帐户登录的租户。
要让应用支持个人账号,请在应用注册的manifest中更改**
"signInAudience" to "AzureADandPersonalMicrosoftAccount"
**。清单
检查您是否具有以下Application.Read.All、Calendars.ReadWrite、Openid、ProfileUser.Read应用程序和委托权限。
在门户网站本身授予管理员同意,以便在所需用户登录时不显示evrytime。
检查应用程序是否已添加到特定租户的Azure AD库或企业应用程序。这可能需要一些时间。
然后,可以使用用户凭据登录应用。