2016-12-06 91 views
0

我使用Visual Studio 2015更新3创建了ASP.NET核心应用程序。由Visual Studio向导生成的应用程序是使用菜单Build,发布选项发布的。我输入了VS所要求的数据,并且该应用程序发布在我的Azure帐户中。将它发布到Azure后无法登录到本地ASP.NET应用程序

创建应用程序时,我选择了“工作和学校帐户”认证选项,这意味着我可以使用Azure/Office 365用户帐户登录。

到目前为止,它工作的很好,可以通过Azure提供的URL访问该应用程序。

不过,现在,当我尝试运行/调试在我的本地IIS Express中的应用程序,我在登录时出现错误。错误显示Microsoft's standard page。我得到的错误是:

对不起,但我们现在无法登入

我们收到了一个坏的请求。

附加技术信息: 相关ID:92884f38-BBFB-4dbb-8224-58ac95ff3cdc 时间戳:2016年12月6日06:17:02Z AADSTS70001:具有标识符申请书“5c8c803c-XXXX-XXXX-XXXX -XXXXXXXXXXXX”目录7d3523a5-XXXX-XXXX-XXXX-XXXXXXXXXXXX

的5C GUID是指在Azure中我的应用程序客户端ID没有被发现,和7D GUID是指租户ID。我查看了我的Azure租户,并且Active Directory已注册了我的应用程序。唯一的区别是URL指向myapp.azurewebsites.net,并且从本地IIS运行时,URL是localhost。

URL的这种区别有什么关系吗?我能做些什么来解决这个问题?

这种类型的应用程序通常在无需发布应用程序的情况下进行调试,而无需随时进行更改?

+0

您需要在AzureAD两个条目。一个用于您的本地应用程序,另一个用于您的实时应用程序并使用环境变量来覆盖appsettings.json中设置的值。您只能设置一个返回网址,以便它可以是本地或您的生产域,但不能同时设置 – Tseng

+0

Hi @Tseng感谢您的意见。当你说两个条目时,你是指两个应用程序注册?至于appsettings.json,每次我调试/发布时,是否必须手动更改值,或者如果条件预处理(类似于#if DEBUG使用这些设置#else使用这些其他)是否有某种类型? –

+0

是的,两个应用程序注册。您可以将这些字段留空在appsettings.json中。开发使用用户机密https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets开发时使用'.UseEnvironmentVariables'并在Azure Portal中的Azure Web Service页面中设置环境变量 – Tseng

回答

0

您必须将本地主机添加到您的应用程序在Azure中的回复URL

到这里看看: enter image description here

这里:

enter image description here

+0

嗨@Dawid Rutkowski,感谢您的意见。我尝试了你的建议,我添加了回复URL,但它仍然不起作用。我需要更改我的应用或Azure中的其他任何内容吗?再次感谢你! –

+0

如果您正确复制了所有GUID作为例外消息“未在目录中找到”可能表明应用标识符或租户标识符错误,您可以再次检查。 –

相关问题