我有一个ASP.net Core 2.0 MVC应用程序并遇到一个奇怪的问题。使用 HttpContext.SignInAsync(...)在我的AccountsControler.cs中签名用户时,会创建一个名为“.AspNetCore.Identity.Application”的Cookie。稍后使用 HttpContext.SignOutAsync()注销用户时,ASP.net Core决定通过在响应标头中设置此Cookie以在unix中过期来删除cookie名称“Identity.External”历元。
看起来我的CookieAuthentication出了问题。有人有想法,在哪里看?
FunFact:两个名字都不是我期望看到的,因为我为CookieAuthentication配置了一个完全不同的名称:
services.AddAuthentication (CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie (
options => {
options.Cookie.Name = "MyMagic.User";
}
);
答案 0 :(得分:0)
实际上问题似乎是,我用过
service.AddAuthentication(...)
在这个应用程序中。看起来像我的代码中的ASP.net Core 1.0迁移工具。
删除显式Cookie身份验证后, SignInAsync()和 SignOutAsync()使用相同的Cookie名称。
此外,
services.ConfigureApplicationCookie(opts => {
opts.Cookie.Name = "My.Cookie.User";
});
我能够重命名cookie。 :)