Http 浏览器和非浏览器客户端的会话身份验证

Http 浏览器和非浏览器客户端的会话身份验证,http,authentication,cookies,session-cookies,Http,Authentication,Cookies,Session Cookies,我想知道以下基于令牌的身份验证设计是否合理 客户端发布登录凭据 验证之后,服务器生成(会话密钥,过期时间),正如我在中指出的,这是可以的。与仅在cookie中公开会话密钥相比,它不会公开会话密钥。只有当攻击者可以使用有效的用户/密码组合调用您的身份验证端点时,才会发生这种情况 确保您的身份验证端点不接受有效会话,并回显其密钥,因为这可能使您暴露于CSRF和会话窃取 要了解其他身份验证方法,请查看我整理的。谢谢您的回答。您能否详细说明为什么系统不应该“接受有效会话并回显其密钥”?会话ID受HTTP

我想知道以下基于令牌的身份验证设计是否合理

  • 客户端发布登录凭据
  • 验证之后,服务器生成
    (会话密钥,过期时间),正如我在中指出的,这是可以的。与仅在cookie中公开会话密钥相比,它不会公开会话密钥。只有当攻击者可以使用有效的用户/密码组合调用您的身份验证端点时,才会发生这种情况

    确保您的身份验证端点不接受有效会话,并回显其密钥,因为这可能使您暴露于CSRF和会话窃取


    要了解其他身份验证方法,请查看我整理的。

    谢谢您的回答。您能否详细说明为什么系统不应该“接受有效会话并回显其密钥”?会话ID受HTTPOnly cookie保护。页面上的任何脚本都无法从浏览器中提取它。但是,如果您的登录端点(上面称为身份验证端点)接受有效会话并回显会话ID,那么它可能会泄漏到脚本中。另一种情况是,如果您拥有CORS,则攻击者可以向登录端点发出跨源请求并获取会话ID。