Azure AD 应用程序未出现在 Azure Web 应用程序的现有 AD 应用程序列表中

Posted

技术标签:

【中文标题】Azure AD 应用程序未出现在 Azure Web 应用程序的现有 AD 应用程序列表中【英文标题】:Azure AD Application not appearing in existing AD App list for an Azure web application 【发布时间】:2017-02-11 14:32:20 【问题描述】:

我刚刚完成了一些演练,我在其中创建了一个 Azure AD 应用程序,以在我的 Azure Web 应用程序中将其用作授权/身份验证。

现在,当我为我的 Azure 网站(应用服务)选择现有 AD 应用程序时,它不会出现在我的 Azure AD 应用程序列表中。

添加现有AD应用的路径是“App Services > MyAzureApp > Authentication/Authorization > Auzre Active Directory > Express > Select existing AD App”

我为我的 Azure AD 应用程序使用了以下设置:

登录网址:https://login.windows.net

回复网址:https://msmanaged-na.consent.azure-apim.net/redirect

所需权限: Azure 服务管理 API > 以组织用户身份访问 Azure 服务管理

键: 添加了一个密钥并将其到期日期设置为 1 年

请帮忙。

更新 (@dstrockis): 我在浏览器中粘贴了这个 https://login.microsoftonline.com/(tenantname).onmicrosoft.com/oauth2/authorize?client_id=(APIAcces-Keys-GeneratedKey)=&redirect_uri=(https://azuresitename.azurewebsites.net/.auth/login/aad/callback)&response_mode=query&response_type=code+id_token&scope=openid&nonce=12345

我收到了一个错误的请求。见下图

【问题讨论】:

您解决了这个问题吗?这让我发疯了。 是的,使用下面弗莱明回答中提到的手动方法。 【参考方案1】:

如果您想为您的应用程序配置身份验证,请按照提到的手动方法here。我已经对我的应用服务进行了此操作,并且它工作正常。

【讨论】:

我尝试了手动方法。现在,当我浏览 Web 应用程序时,它会返回错误“页面无法显示,因为发生了内部服务器错误。”。对此有任何想法吗? 仅凭这个错误很难判断。请确保您尝试过隐身模式,回复 URL 中的“https”,检查订阅是否正确链接到 Active Directory,重新检查所有配置 这是我这边的配置错误。对于迟来的反馈,我们深表歉意。【参考方案2】:

在 Azure AD 中,将应用“注册”和将其“预配”到租户中是有区别的。 Azure AD 门户 UX 目前只做前者,而不做后者。团队已意识到该问题并正在努力解决问题。

同时,最好的解决方法是模拟登录到应用程序,这会将应用程序“预配”到您的 Azure AD 租户中。

如果您完成以下请求并将其粘贴到浏览器中,并使用租户中的帐户登录,您应该会看到它显示出来。 https://login.microsoftonline.com/common-or-tenant/oauth2/authorize?client_id=client-id&redirect_uri=redirect_uri&response_mode=query&response_type=code+id_token&scope=openid&nonce=12345

【讨论】:

我尝试了上述请求,将 tenant 替换为 .onmicrosoft.com,将 client_id 替换为我们在 API Access > Keys 部分生成的 Azure AD 应用程序密钥,将 redirect_uri 替换为 'https:// /.azurewebsites.net/.auth/login/aad/callback' 但我在登录时收到错误的请求错误。 使用应用程序 ID,而不是应用程序密钥 但我收到了包含代码、ID 令牌和会话状态的回复。 好的,那么这可能是与 Azure AD 无关的问题,而是与 AAD 的应用服务集成。听起来下面的人对此更了解。对不起,红鲱鱼【参考方案3】:

迟到了,但相信它会有所帮助。

当您创建应用注册时,不要忘记在关闭注册窗格之前为其分配所有者(设置 -> 所有者)。

否则它已创建但不会显示在列表中,因为它似乎没有默认所有者。

【讨论】:

当您是“全局管理员”时,所有者未填写【参考方案4】:

在 Azure Active Directory 管理中心,当我浏览到 Azure Active Directory > 应用注册时,我注册的应用没有显示。当我将视图设置从“我的应用程序”(默认选择)更改为“所有应用程序”时,它会显示在列表中。不需要改变所有者,至少对我来说是这样

所有者设置是一个线索--

从“我的应用”视图切换到“所有应用”后,我的应用就会显示出来。

【讨论】:

澄清和详细说明。 在 Azure Active Directory 管理中心,当我浏览到 Azure Active Directory > 应用注册时,我注册的应用不显示。当我将视图设置从“我的应用程序”(默认选择)更改为“所有应用程序”时,它会显示在列表中。不需要改变所有者,至少对我来说是这样【参考方案5】:

对我来说,

只是更新应用注册清单文件

"publicClient": false

"publicClient": null

成功了

干杯,

【讨论】:

【参考方案6】:

从您图像中的错误消息来看,该应用程序似乎未添加到您的 Azure AD 租户中。

现在,当我为我的 Azure 网站(应用服务)选择现有 AD 应用程序时,它不会出现在我的 Azure AD 应用程序列表中。

在 Azure 门户中选择现有 AD 应用程序时,请确保您的应用程序已添加到“当前 Active Directory”中(在下面的屏幕截图中突出显示)。如果您在 Azure 门户中创建一个新的 AD 应用程序,这将非常容易。

如果您对 Azure AD 工作流程中的参数感到困惑,请查看this article。

【讨论】:

我确认 AD 应用程序已添加到当前活动目录中。这是一个只有默认 AD 的 Azure 试用组织。【参考方案7】:

听起来您的应用程序没有注册为企业应用程序,这是我发现我的应用程序需要的。

【讨论】:

【参考方案8】:

我的 Azure 函数未显示在我的 KeyVault 访问中时遇到了类似的问题。给我一个神秘的错误([error] aadsts900023" 指定的租户标识符既不是有效的 dns 名称,也不是有效的外部域。)

最终,对密钥保管库的访问消失了,但我找不到再次授予它权限的应用程序。

为了解决这个问题,我去了 Azure Function > Function Settings > Platform Features 部分。

在常规设置下,选择“所有设置”。

在此页面上,选择“设置”部分下的“身份”。

在“系统分配”选项卡中,打开“状态”。

然后会给出: “此资源已在 Azure Active Directory 中注册。您可以控制其对 Azure 资源管理器、Azure Key Vault 等服务的访问。”

【讨论】:

以上是关于Azure AD 应用程序未出现在 Azure Web 应用程序的现有 AD 应用程序列表中的主要内容,如果未能解决你的问题,请参考以下文章

Azure AD 与 Azure AD B2C 与 Azure AD B2B

添加 Azure AD 服务依赖项时租户未加载

Azure AD 身份验证令牌未通过 Web api 授权

Azure AD Sync 后,用户邮箱未生成解决方案

Azure AD SSO,未找到 login.live

Azure AD Graph 调用用户创建失败并出现一些模糊的错误