当应用程序在生产环境中运行时,Asp.Net Core 2.0登录失败

时间:2018-07-10 22:41:36

标签: asp.net asp.net-core windows-authentication

我想用启用Microsoft帐户身份验证的Asp.Net Core 2.0创建Web服务。我正在使用此tutorial。一切在本地主机上都可以正常运行,但是当我将其发布到我的azure网站上时失败了。

我确实进入了Microsoft登录页面,但是一旦选择了用户帐户,就会收到以下消息:

对不起,我们无法登录。 AADSTS50011:请求中指定的答复URL与为应用程序配置的答复URL“ MyApplicationId”不匹配。

我尝试将登录回复URL更改为 mywebsite.azurewebsites.net/signin-microsoft ,发生了同样的事情。浏览完我的项目后,我注意到launchSettings.json文件包含几个本地主机链接,因此我尝试将它们更改为生产url,但仍然存在完全相同的错误。有人能帮助我吗?

这是在我的本地主机中正常运行的launchSettings.json文件:

{
  "iisSettings": {
  "windowsAuthentication": false,
  "anonymousAuthentication": true,
  "iisExpress": {
    "applicationUrl": "http://localhost:13242/",
    "sslPort": 44372
    }
  },
 "profiles": {
 "IIS Express": {
    "commandName": "IISExpress",
    "launchBrowser": true,
    "launchUrl": "https://localhost:44372/",
    "environmentVariables": {
      "ASPNETCORE_ENVIRONMENT": "Development"
     }
  },
  "WebApplication13": {
    "commandName": "Project",
    "launchBrowser": true,
    "environmentVariables": {
      "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "applicationUrl": "http://localhost:13243/"
   }
  }
}

1 个答案:

答案 0 :(得分:1)

尝试在应用程序注册和web.config中将您的回复URL更改为主页主页URL。用户已经登录后,除非您有特定的新登录页面,否则无需重定向到登录URL。还要确保门户中的应用程序ID与您配置中的客户端ID相匹配。

本教程非常有帮助:https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect

另请参阅:Reply URLs Explained

并且:Authenticate two web apps