使用护照时如何创建安全的cookie会话

时间:2019-01-07 11:23:41

标签: session authentication authorization passport.js session-cookies

我正在尝试了解如何将cookie会话与护照一起使用。到目前为止,这是我的理解:

  • 用户登录时-通过serializeUser用户步骤将user_id值添加到会话中
  • cookie-session创建一个会话和一个session.sig cookie,其中包含user_id,然后将其传递给客户端
  • 然后,客户端在每个API调用上发送会话cookie
  • passport通过deserializeUser步骤从cookie中读取会话数据

我遇到的问题是,cookie的到期日期似乎没有哈希到这两个值(session和session.sig)中。这意味着对于给定的user_id,生成的会话和session.sig将始终相同-并将所有这些信息传递给客户端。

现在说有人想出了一种方法来复制这两个cookie的值,他们现在可以将这些值附加到具有任何假假有效期的API调用中。它将通过护照的授权检查!因为user_id实际上已散列到这些cookie中。

这是否意味着一旦创建会话cookie,即使cookie本身过期后,会话cookie仍将始终有效?

这是预期的吗?还是我错过了什么?

0 个答案:

没有答案