繁体   English   中英

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

[英]ASP.Net Core 2.0 SignOutAsync deleting the wrong Cookie?

我有一个ASP.net Core 2.0 MVC应用程序,遇到了一个奇怪的问题。 在我的AccountsControler.cs中使用HttpContext.SignInAsync(...)登录用户时,这将创建一个名为“ .AspNetCore.Identity.Application”的Cookie。 稍后使用HttpContext.SignOutAsync()登出用户时,ASP.net Core决定通过在Response-Header中将此Cookie设置为在unix时代过期来删除cookie名称“ Identity.External”。

好像我的CookieAuthentication出了点问题。 有人知道,去哪里找?

FunFact:这两个名称都不是我希望看到的,因为我为CookieAuthentication配置了完全不同的名称:

services.AddAuthentication (CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie (
    options => {
        options.Cookie.Name = "MyMagic.User";
    }
);

其实问题似乎是我用过的

service.AddAuthentication(...)

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

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

此外,

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

我能够重命名cookie。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM