代码之家  ›  专栏  ›  技术社区  ›  Daarwin

AADSTS50011:请求中指定的回复url与为应用程序配置的回复url不匹配:“<AppId>”

  •  38
  • Daarwin  · 技术社区  · 7 年前

    我有一个。配置为使用Azure AD开箱即用的NET Core 2应用程序模板。

    配置为:

    {
      "AzureAd": {
        "Instance": "https://login.microsoftonline.com/",
        "Domain": "lautaroarinolive.onmicrosoft.com",
        "TenantId": "67cb2dfd-ebd5-40d8-829b-378340981a17",
        "ClientId": "50819a7a-e018-4c1d-bf0a-18c8fce5c600",
        "CallbackPath": "/signin-oidc"
      },
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      }
    }
    

    在我的门户中,我有一个Azure应用程序注册,其id与 ClientId 。它具有回复URL [APP-URL]/signin-oidc

    App registration in the Azure portal

    localhost应用程序可以正常工作 只有 如果我将回复URL设置为 [LocalhostURL]/signin-oidc ,尽管我了解到配置不应影响本地主机上的登录。

    Azure应用程序在任何情况下都无法运行。

    在这两个应用程序中,当它不工作时,我会出现以下错误:

    AADSTS50011:请求中指定的回复url与 为应用程序配置的回复URL: '50819a7a-e018-4c1d-bf0a-18c8fce5c600'

    1. localhost应用程序不需要配置的回复URL是否正确?

    2. 为什么会出现“回复url未配置”错误?

    10 回复  |  直到 6 年前
        1
  •  19
  •   Anirban Saha    4 年前

    您可以参考 this Sample 重建。NET核心应用程序并发布到Azure。

    您需要注意以下几点:

    1. 您需要将端口从5000更改为有效端口。目前应为61659。因此,当您在本地主机中进行测试时,可以使用 http://localhost:61659/signin-oidc

    2. 如果将应用程序配置为生产使用,或者将应用程序发布到Azure Web app,则应将应用程序配置文件和AAD应用程序中的回复URL更改为 <AppURL>/signin-oidc

    例如 https://www.contoso.com/signin-oidc https://Myapp.azurewebsites.net/signout-oidc

        2
  •  17
  •   mbomb007    6 年前

    我也有类似的问题。NET 4.6.1 web应用程序。 我必须在azure中为我的应用程序配置回复URL,与接受的回复类似,但回调URL不同。

    Select Azure Active Directory -> App Registrations -> <your app>
    Select Settings -> Reply URLs
    

    添加你的应用程序URL+'/。身份验证/登录/aad/回调' 例如: https://somesite.azurewebsites.net/.auth/login/aad/callback

        3
  •  12
  •   PRTJ    4 年前

    在Microsoft登录页中检查重定向uri

    redirect\u uri=https://localhost:8443/login &响应类型=代码(&U);范围=openid%20配置文件(&状态=7GsiHb

    enter image description here

    并确保已在注册的应用程序(Active Directory->App Registration->您的应用程序)中添加了相同的URI以重定向URI列表。如其他答案所述,可能需要将支持的帐户类型更改为“多个组织”。

    enter image description here

    enter image description here

        4
  •  1
  •   Lauren Van Sloun Sebastian Inones    6 年前

    确保 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); 必须低于 身份验证配置。

    services.AddAuthentication(options =>
    {
        options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    })
    .AddOpenIdConnect(options =>
    {
        options.Authority = "";
        options.ClientId = "";
        options.ResponseType = OpenIdConnectResponseType.IdToken;
        options.CallbackPath = "";
        options.SignedOutRedirectUri = "";
        options.TokenValidationParameters.NameClaimType = "name";
    })
    .AddCookie();
    

    由于添加了 AddMvc() AddAuthentication() 扩展方法。

        5
  •  0
  •   Oscar Javier Jimenez    5 年前

    在某些情况下,azure会在url上使用“www”,即使您在没有“www”的门户上指定url。使用“ https://www.mysite.co/signin-oidc “相反” https://mysite.co/signin-oidc “在您的redirectUri变量中。

        6
  •  0
  •   Ádám Géczi    5 年前

    这很小,但在Web租户、自定义域设置中,应根据站点使用的URL启用HTTPS Only选项。我遇到了与登录时相同的问题,redrect\u uri= http://sitename 已连接而不是https。启用此选项解决了我的身份验证问题。

        7
  •  0
  •   Ronald Abellano    5 年前

    如果您是从AAD登录,则应使用应用程序基url/sigin AAD。

        8
  •  0
  •   Simas Joneliunas Kojo Clinton    5 年前

    如果使用React-Native。能够检查web门户: https://portal.azure.com/

    iOS:{YOUR\u BUNDLE\u IDENTIFIER}://{YOUR\u BUNDLE\u IDENTIFIER}/iOS/回调

    Android:{YOUR\u APP\u PACKAGE\u NAME}://{YOUR\u APP\u PACKAGE\u NAME}/Android/callback

    请参考下图。

    enter image description here

        9
  •  0
  •   Ivan Neganov    4 年前

    只是犯了同样的错误。我的应用程序是。NET 5 ASP。NET Core应用程序运行在web应用程序内部的Linux docker容器中。使用Fiddler进行故障排除表明,在登录调用中。微软com redirect\u uri query string变量的值以“http://”开头,而不是以“https://”开头,尽管我尝试仅在web应用本身上强制TLS。这导致URL不匹配和错误AADSTS50011。

    在web应用程序上设置环境变量ASPNETCORE\u FORWARDEDHEADERS\u ENABLED=true已修复此问题。Microsoft已将其记录在此处: https://devblogs.microsoft.com/aspnet/forwarded-headers-middleware-updates-in-net-core-3-0-preview-6/

        10
  •  0
  •   Mike Miller    4 年前

    我唯一的解决方案:在Azure门户中 https://portal.azure.com ,导航到“应用程序注册”->选择您的应用程序->左侧侧栏菜单中的“身份验证”->“移动和桌面应用程序”重定向URI->然后单击“添加URI”->键入以下内容

    ms appx-web://microsoft.aad.brokerplugin/{Your\u Application's\u Client\u ID}

    示例: ms-appx-web://microsoft.aad.brokerplugin/5r3257qe-7jci-3501-38k0-3791h90542m7