我目前正在研究新的ASPNET身份和Owin身份验证,以便我可以自定义它以供我自己使用。我刚刚创建了一个默认的MVC 5应用程序并遇到了这段代码
private async Task SignInAsync(ApplicationUser user, bool isPersistent)
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); /// WHY??
var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
问题
离开外部Cookie会有安全隐患吗?
答案 0 :(得分:1)
原来,该行的目的是停用从第三方提供商处获得的外部Cookie。因为意图是将用户的身份从第三方转移到本地身份。
如果不这样做会导致cookie即使在用户退出后仍然有效。