SharePoint 身份验证 token/cookie 在关闭浏览器时仍然存在,但仅在 Chrome 中

SharePoint authentication token/cookie persists when closing browser, but only in Chrome

默认情况下,SharePoint 2013 不使用会话 cookie,而是使用持久性 cookie。根据多篇文章,包括这篇 one,您可以通过以下 PowerShell 命令强制 SharePoint 使用会话 cookie。我在我的 SharePoint 环境中 运行 这个命令。

$sts = Get-SPSecurityTokenServiceConfig
$sts.UseSessionCookies = $true
$sts.Update()

我的目标是让用户在关闭并重新打开浏览器时重新进行身份验证。对于 Forms Authenticated 用户和 Windows Authenticated 用户,这在 Firefox 和 IE 中效果很好。但是,在 Google Chrome 中,当我 close/re-open 浏览器导航到我的 SharePoint 站点时,它会记住我在关闭浏览器之前已通过身份验证的用户;令人费解的是,考虑到这应该是一个会话 cookie。对于经过 Forms 身份验证的用户和 Windows 身份验证的用户,都会发生这种情况。

FedAuth 会话 cookie,由 SharePoint 提供,如 Chrome 中所示

知道为什么 Google Chrome(但不是 IE 或 FF)是 "remembering" 我在浏览器 close/open 上的凭据吗?

SharePoint 版本: 2013,内部部署。 Chrome版本:42.0.2311.152

其他说明:

更新: 我尝试通过 Taskmgr 关闭所有可识别的 Chrome.exe 进程,但下次我打开浏览器时,它仍然记得我。然而,我重新启动了我的电脑,打开了浏览器,那时候它不记得我了。我认为这不是 SharePoint 问题,而是 Chrome 问题。我的猜测是某些 Chrome 进程在某处保持活动状态,即使它看起来已关闭,从而允许 "Session" 保持打开状态。仍在调查中...

显然,当您让 Chrome 运行 在后台运行时,会话 cookie 不会过期(即使您关闭了浏览器)。禁用后台模式会导致 Chrome 忘记您的会话 cookie,这是应该的。

注意:我很好奇这是否是 Chrome 中的错误。这种行为似乎违背了 Session cookie 是什么。

a cookie that is erased when the user closes the Web browser. The session cookie is stored in temporary memory and is not retained after the browser is closed

更新: 根据Google,这是expected behavior (though I'd consider that notion debatable). Also, another SO user also came across the same issue