Microsoft ADD-应用注册-请求中指定的回复URL与配置的回复URL不匹配

时间:2018-06-20 21:49:40

标签: c# oauth azure-active-directory

我创建了一个Web应用程序,该应用程序正在使用Azure Active Directory身份验证。

在localhost上一切正常,但是将应用程序发布到Azure时出现以下错误:

  

AADSTS50011:请求中指定的回复网址与   回复为应用程序配置的URL:   '656cc46c-f858-4a45-bf83-698791e052f1'。

我尝试过的事情:

在Azure中,我将相关应用程序的Reply URL配置为:

http://gp-rh.azurewebsites.net/signin-oidc

这是我的appsetting.json:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "legroupeti.com",
    "TenantId": "7c6ff5e2-0660-4b65-9b64-7a78df412819",
    "ClientId": "656cc46c-f858-4a45-bf83-698791e052f1",
    "CallbackPath": "/signin-oidc"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

在我的应用程序中,执行登录的控制器设置如下:

[HttpGet]
public IActionResult SignIn() {
    var redirectUrl = Url.Action("Index", "Dashboard",
        new { date = DateTime.Now, anchor = "period" });
    return Challenge(
        new AuthenticationProperties { RedirectUri = redirectUrl },
        OpenIdConnectDefaults.AuthenticationScheme);
}

我的应用程序的默认页面为/,该页面重定向到/Dashboard

我不知道哪里出了问题,但这仍然行不通。

1 个答案:

答案 0 :(得分:1)

redirect_uri必须完全匹配您的注册URI之一,包括方案(http://https://)。

通常,出于开发目的,您应该使用不安全的方案(http)。对于测试/阶段/生产,应始终使用安全连接(https)。在这种情况下,绝对没有理由不使用https://gp-rh.azurewebsites.net/signin-oidc,因为azurewebsites.net默认支持HTTPS。