.net core Active directory登录不工作,错误为“;请求中指定的回复URL与为应用程序配置的回复URL不匹配;

.net core Active directory登录不工作,错误为“;请求中指定的回复URL与为应用程序配置的回复URL不匹配;,.net-core,azure-active-directory,.net Core,Azure Active Directory,我已根据文档配置active directory登录,但其始终给我错误“请求中指定的回复URL与为应用程序配置的回复URL不匹配” 我的配置和设置如下 appsettings.json "AzureAd": { "Instance": "https://login.microsoftonline.com/", "Domain": "https://localhost:44300/"

我已根据文档配置active directory登录,但其始终给我错误“请求中指定的回复URL与为应用程序配置的回复URL不匹配”

我的配置和设置如下

appsettings.json
"AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "https://localhost:44300/",
    "ClientId": "94652b2b-ac2d-470c-b8a8-8ce7c7691aca",
    "TenantId": "0ef71077-dc27-4e28-a028-a10542145dfc",
    "CallbackPath": "/signin-oidc"
  }
Startup.cs

配置服务方法

services.AddRazorPages()
                 .AddMicrosoftIdentityUI();


            services.Configure<CookiePolicyOptions>(option =>
            {
                option.CheckConsentNeeded = context => true;
                option.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddAuthentication(AzureADDefaults.AuthenticationScheme).AddAzureAD(option => Configuration.Bind("AzureAd", option));

            services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, option =>
            {
                option.Authority = option.Authority + "/V2.0/";
                option.TokenValidationParameters.ValidateActor = false;
            });
            services.AddMvc(option =>
            {
                var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
                option.Filters.Add(new AuthorizeFilter(policy));
            })
                .SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
services.AddRazorPages()
.AddMicrosoftIdentityUI();
services.Configure(选项=>
{
option.checkApproveRequired=context=>true;
option.MinimumSameSitePolicy=SamesItemMode.None;
});
AddAuthentication(AzureADDefaults.AuthenticationScheme).AddAzureAD(option=>Configuration.Bind(“AzureAd”,option));
配置(AzureADDefaults.OpenIdScheme,选项=>
{
option.Authority=option.Authority+“/V2.0/”;
option.TokenValidationParameters.ValidateActor=false;
});
services.AddMvc(选项=>
{
var policy=new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
option.Filters.Add(新授权过滤器(策略));
})
.SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
它总是要求我登录,但登录后我得到下面的错误消息 抱歉,您登录时遇到问题

AADSTS50011:请求中指定的回复URL与为应用程序配置的回复URL不匹配:“94652b2b-ac2d-470c-b8a8-8ce7c7691aca

下面是我的active directory登录配置 重定向URI:https://localhost:44300/ 访问令牌=已选中 ID标记=已选中
支持的帐户类型:任何组织目录(任何Azure AD目录-Multitenant)中的帐户和个人Microsoft帐户(例如Skype、Xbox)

我以前回答过类似的问题,请参阅:

不匹配问题有一个通用解决方案:

当您访问应用程序url时,您将被重定向到登录页面。解码授权请求URL,您将找到redirect_uri,复制redirect_uri的值并将其粘贴到azure门户中,然后重试。

对于重定向URL,它应该以
https
开头,如果需要以http开头,则必须将其配置为
http://localhost