Authentication Dotnet核心身份验证关联失败
我正在尝试在全新的dotnet核心应用程序上设置身份验证。 我使用的IdentityServer工作正常,因为它正用于其他应用程序 我得到了一个错误,除了“关联失败”之外,它没有多大意义。 查看VS2017中的输出,我在异常之前看到一条警告,警告如下: Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler:警告: .AspNetCore.Correlation。找不到状态属性 这是我的配置:Authentication Dotnet核心身份验证关联失败,authentication,.net-core,openid-connect,identityserver3,Authentication,.net Core,Openid Connect,Identityserver3,我正在尝试在全新的dotnet核心应用程序上设置身份验证。 我使用的IdentityServer工作正常,因为它正用于其他应用程序 我得到了一个错误,除了“关联失败”之外,它没有多大意义。 查看VS2017中的输出,我在异常之前看到一条警告,警告如下: Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler:警告: .AspNetCore.Correlation。找不到状态属性 这是我的配置: publ
public void ConfigureServices(IServiceCollection services)
{
Debugger.Break();
services.AddMvc();
services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
options.SlidingExpiration = true;
options.Cookie.Name = "MyAwesomeCookie";
options.ExpireTimeSpan = TimeSpan.FromMinutes(30);
})
.AddOpenIdConnect(options =>
{
options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.Authority = IdentityServerConstants.IdentityServerUrl;
options.ClientId = "myclientid";
options.ClientSecret = "supersecuresecret";
//options.CorrelationCookie.Name = "something";
foreach (var s in myScopes)
{
options.Scope.Add(s);
}
options.ResponseType = "code id_token token";
options.CallbackPath = new PathString("/");
options.UseTokenLifetime = false;
options.RequireHttpsMetadata = false;
});
}
出于安全原因,我修改了一些值,并排除了事件hoocking,因为我认为它与此无关
我可以找到这个文件:
如果此文件上的最后一个方法返回false,则会出现“Correlation Failed”错误
然而,我花了很长时间在谷歌上搜索错误,找不到如何修复它。我可能在配置中遗漏了一些琐碎的东西
有什么线索吗?我没有解释为什么会出现这种情况,但我遇到了相同的错误,并设法通过删除这一行来解决它:
options.CallbackPath = new PathString("/");
我遇到了这个问题,这是由于在
RouteOptions
中设置了以下选项引起的:
options.LowercaseQueryStrings=true代码>
这导致执行重定向回应用程序时,查询参数的大小写变低。由于state区分大小写,因此导致state属性找不到
错误