【问题标题】:Federated authentication and session management联合身份验证和会话管理
【发布时间】:2017-07-05 01:29:53
【问题描述】:

当您登录 Identityserver 时,身份验证 cookie idsrv 存储在浏览器中。当用户注销时,cookie 被删除。但是,即使用户已注销,攻击者也可以窃取 cookie 并实质上使用它。

这似乎也是许多身份提供者的“正常”行为。

问题

这是可接受的行为吗?

是否可以检测到用户已注销并且 idsrv cookie 值(令牌)不再有效?例如,我们是否应该实现 IAuthenticationSessionValidator 来跟踪已注销的用户?或者这是应该属于应用程序使用 id_token session_state 声明的东西?

【问题讨论】:

  • 这张票与您的问题相关吗? github.com/IdentityServer/IdentityServer3/issues/2921
  • 没有。有两个 cookie 存储在我的应用程序中,一个在 idsrv 中。如果我在 idsr 中复制 cookie 并注销集中调用 idsr endsession 端点我已注销并且我看到 cookie 已删除,那么我可以使用例如编辑 cookie 我再次登录将我的 cookie 粘贴到 idsr。我相信会话 id(可能是 id_token sid 声明)应该绑定到存储在 cookie 中的令牌,并且应该进行验证。这通常由 .Net 会话管理等框架处理。但对我来说,似乎在转向联合身份验证时它已经被遗忘了。

标签: security authentication session-cookies identityserver3 session-management


【解决方案1】:

根据 OWASP ASVS 要求 3.2 Sessions should be invalidated on user logout,在退出应用程序后应该不能使用相同的 cookie。如果使用 ADFS 和 AAD 等其他身份提供程序,情况也是如此。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多