Azure使用部署插槽“启用AD身份验证”

时间:2015-05-18 08:06:49

标签: azure-web-sites azure-active-directory

我有一个Azure WebApp,并在Azure预览程序中激活了“Active Directory身份验证”。我们称之为https://mysite.azurewebsites.net(不是真正的URL)这是按预期工作的。但是,当我们添加部署槽时,我们无法使身份验证正常工作。访问分阶段WebApp时,例如https://mysite-staging.azurewebsites.net(不是真正的网址),我们会被重定向到

https://login.microsoftonline.com/<our-directory-guid>/oauth2/authorize?response_type=id_token&redirect_uri=https%3A%2F%2Fmysite-staging.azurewebsites.net/ ....

但登录门户网站给我们提供了一条错误消息:

AADSTS50011:回复地址“https://mysite-staging.azurewebsites.net/<our-appliction-guid>/login”与为应用程序配置的回复地址不匹配:。

问题是,WebApp不会在我们的目录中显示为应用程序,因此我们无法为其设置备用的重新构建URL。

有没有办法为WebApp指定备用地址,以便Azure AD登录适用于部署位置?

3 个答案:

答案 0 :(得分:1)

我确定这不会修复部署插槽仍然指向实时应用程序,但这样可以解决此错误,因为它非常愚蠢。

AADSTS50011:回复地址“https://mysite-staging.azurewebsites.net/ / login”与为应用程序配置的回复地址不匹配:。

在Azure AD中的应用程序设置下配置URL时,您忘​​记了...一个尾随斜杠!而已!你能相信吗?

    In other words, change this:
    http://yoururlforyourapp

    to this:
    http://yoururlforyourapp/

    Done! You’re welcome. 

来自http://www.matvelloso.com/2015/01/30/troubleshooting-common-azure-active-directory-errors/

答案 1 :(得分:0)

不幸的是,您似乎遇到了该版预览门户中的一些错误。

回复URL问题很可能是因为您在生产槽上配置了auth后创建了暂存槽。在该版本中,我们克隆了auth设置,因此您的暂存插槽最终指向现有的AAD应用程序,而不添加新的答复URL。创建新插槽时,未通过自动克隆身份验证设置修复此问题。

无论如何,您应该能够在AAD管理门户中找到您的应用程序。如果您无法看到它,可能是因为您需要更改&#34;显示&#34;来自&#34;我公司使用的应用程序&#34;到&#34;我公司拥有的应用程序&#34;。找到它并添加分段回复URL也可以解决上面提到的问题。

您尝试在暂存插槽上重新配置auth时看到的错误消息可能是管理门户中的另一个错误,如果您只是在该暂存插槽上看到它。

自您提出问题以来,身份验证/授权刀片已经彻底更新,现在应该修复所有这些问题。抱歉给你带来不便。我希望你能够在这些问题上取得进展。

答案 2 :(得分:0)

创建部署插槽时,需要为其重新设置身份验证,就好像它是一个新应用程序一样。 (从应用程序服务的角度来看,是这样。)

步骤大致为:

  1. 在门户中,转到您的应用程序服务下的部署位置。
  2. 进行身份验证/授权
  3. 执行所有步骤来设置与生产应用程序相同的身份验证/授权。 (通过AzureAD进行身份验证,选择提供程序,等等。)
  4. 在登台环境的“管理应用程序”下,转到设置,并为登台环境添加新的答复URL。您应该有常规的回复URL,然后是暂存版本:

您应该可以进入。

发生在我身上的一件奇怪的事情是,这没有用,然后我进入了阶段身份验证,然后将其关闭。这样可以使所有工作正常进行,并且可以正确验证身份,并且如果我没有登录也不允许我进入。

(我知道我要在原始问题的几年后发布此答案,但是在花了一周的大部分时间弄清楚了这个问题之后,这个问题反复出现在搜索中,我想记录一下我最终在做的事情如果别人有问题。)