ASP.Net Core 2.0 SignOutAsync删除错误的Cookie?

时间:2018-03-12 09:47:59

标签: c# authentication cookies asp.net-core asp.net-identity

我有一个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";
    }
);

1 个答案:

答案 0 :(得分:0)

实际上问题似乎是,我用过

service.AddAuthentication(...)

在这个应用程序中。看起来像我的代码中的ASP.net Core 1.0迁移工具。

删除显式Cookie身份验证后, SignInAsync() SignOutAsync()使用相同的Cookie名称。

此外,

services.ConfigureApplicationCookie(opts => {
   opts.Cookie.Name = "My.Cookie.User";
});

我能够重命名cookie。 :)