【发布时间】:2017-07-05 01:29:53
【问题描述】:
当您登录 Identityserver 时,身份验证 cookie idsrv 存储在浏览器中。当用户注销时,cookie 被删除。但是,即使用户已注销,攻击者也可以窃取 cookie 并实质上使用它。
这似乎也是许多身份提供者的“正常”行为。
问题
这是可接受的行为吗?
是否可以检测到用户已注销并且 idsrv cookie 值(令牌)不再有效?例如,我们是否应该实现 IAuthenticationSessionValidator 来跟踪已注销的用户?或者这是应该属于应用程序使用 id_token session_state 声明的东西?
【问题讨论】:
-
没有。有两个 cookie 存储在我的应用程序中,一个在 idsrv 中。如果我在 idsr 中复制 cookie 并注销集中调用 idsr endsession 端点我已注销并且我看到 cookie 已删除,那么我可以使用例如编辑 cookie 我再次登录将我的 cookie 粘贴到 idsr。我相信会话 id(可能是 id_token sid 声明)应该绑定到存储在 cookie 中的令牌,并且应该进行验证。这通常由 .Net 会话管理等框架处理。但对我来说,似乎在转向联合身份验证时它已经被遗忘了。
标签: security authentication session-cookies identityserver3 session-management