web-dev-qa-db-ja.com

AADSTS50011:要求で指定された応答URLが、アプリケーションに構成された応答URLと一致しません: '<AppId>'

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"
    }
  }
}

ポータルには、ClientIdと同じIDのAzureアプリ登録があります。応答URL [APP-URL]/signin-oidcがあります。

App registration in the Azure portal

構成がログインに影響を与えないことがわかっているにもかかわらず、応答URLを[LocalhostURL]/signin-oidcに設定した場合、localhostアプリは機能しますonlyローカルホスト上。

Azureアプリはどのような場合でも機能しません。

両方のアプリで動作しないとき、私はこのエラーを受け取ります:

AADSTS50011:要求で指定された応答URLが、アプリケーションに構成された応答URL '50819a7a-e018-4c1d-bf0a-18c8fce5c600'と一致しません

  1. Localhostアプリに設定済みの応答URLが必要ないのは正しいですか?

  2. 「応答URLが構成されていません」エラーが表示されるのはなぜですか?

10
Daarwin

this Sample を参照して、.NETコアアプリを再構築し、Azureに発行できます。

注意が必要な注意事項がいくつかあります。

  1. ポートを5000から有効なポートに変更する必要があります。現在、61659である必要があります。したがって、ローカルホストでテストを行う場合、AADアプリでhttp://localhost:61659/signin-oidc

  2. 実稼働用にアプリを構成する場合、またはアプリをAzure Webアプリに発行する場合は、これらのURLを更新します。アプリ構成ファイルとAADアプリケーションの両方の返信URLを<AppURL>/signin-oidc

例えば、 https://www.contoso.com/signin-oidc または https://Myapp.azurewebsites.net/signout-oidc

7
Wayne Yang

.NET 4.6.1 Webアプリケーションでも同様の問題が発生しました。 Azureでアプリの返信URLを承認済みの回答と同様に構成する必要がありましたが、コールバックURLは異なりました。

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

アプリのURL + '/.auth/login/aad/callback'を追加します。例:https://somesite.azurewebsites.net/.auth/login/aad/callback

4
armstb01

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()を追加したため、同じエラーに直面していました。

0
Mohit Singh