.net core Active directory登录不工作,错误为“;请求中指定的回复URL与为应用程序配置的回复URL不匹配;
我已根据文档配置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/"
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