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 替换为迟到了,但相信它会有所帮助。
当您创建应用注册时,不要忘记在关闭注册窗格之前为其分配所有者(设置 -> 所有者)。
否则它已创建但不会显示在列表中,因为它似乎没有默认所有者。
【讨论】:
当您是“全局管理员”时,所有者未填写【参考方案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 应用程序列表中的主要内容,如果未能解决你的问题,请参考以下文章