asp.net-core-2.1 - 请求中指定的 Azure AD 回复 url 的 ASP.NET Core Web 应用与配置的回复 url 不匹配

标签 asp.net-core-2.1 azure-authentication

我正在尝试使用 ASP.NET Core 2.1 并使用 Azure AD 保护 Web 应用程序。我的应用程序设置如下:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "xxxx.onmicrosoft.com",
    "ClientId": "xxxxx",
    "TenantId": "xxxxx",
    "ClientSecret": "xxxxx",
    "CallbackPath": "/signin-oidc"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

(注意回调路径)。这是根据我可以找到的文档。当我上次使用 Azure AD 身份验证时,我在应用程序设置中使用了回复 URL,这必须与 Azure AD 中的回复 URL 匹配。然而,这个新方法的文档说您必须将回调路径设置为/signin-oidc ?

我不太明白,但我已经这样设置了,但是我无法将 Azure AD 应用程序注册中的回复 URL 设置为此,因为它不接受此“部分”路径。它必须是完整的 URL。我试过:

  • mysite.net(callbackPath 为 mysite.net)
  • mysite.net/index(CallbackPath 为/index)
  • mysite.net/signin-oidc(回调路径为/signin-oidc”

但是,当发生质询时,我不断收到请求中指定的错误 URL 与为登录配置的回复 URL 不匹配的错误 URL,并且出现了 Microsoft 登录页面。

当我上次使用 ASP.NET Webforms 进行 Azure AD Auth 时,只是 app.config 将 mysite.net 作为回复 URL,并在 Azure 中将应用程序注册为 mysite.net

最佳答案

解决方案分为两部分:

第 1 部分:确保 appsettings.json 中的 CallBackUrl 为/signin-oidc,并且在 Azure 应用注册中为 yoursite/signin-oidc

第2部分:确保将app.UseAuthentication()添加到startup.cs中的HTTP管道

关于asp.net-core-2.1 - 请求中指定的 Azure AD 回复 url 的 ASP.NET Core Web 应用与配置的回复 url 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56141221/

相关文章:

javascript - 如何回发多选列表中的所有选定项目,以便将其包含在我的 View 模型中?

c# - 为什么 .Net Core/Azure Web 作业示例不起作用?

azure - 如何登录 Azure 服务主体

从不同帐户访问 Azure 托管标识

azure - 上传公共(public)证书后,customKeyIdentifier 值无法用作 x5t

Angular 应用程序托管 Azure 存储容器 - Azure 身份验证回调和路由失败

azure - 无法登录 Azure 门户

javascript - AJAX post数据到达ASP.NET Core 2.1.1 Controller 时为空

c# - 如何在 .Net Core 2.1 中为暂存/生产配置 ssl

c# - 当 ASP.NET Core 应用程序关闭时,如何正确安全地处理在容器中注册的单例实例