烧瓶会话逻辑是否类似于 JWT



我有一个关于烧瓶会话逻辑的问题。首先,我知道有两种存储会话数据的方法,一种是在客户端,另一种是在服务器端。据我所知,Flask 使用的是前一个(客户端(,其中会话被加密并存储在客户端的浏览器上。

假设我们想在烧瓶后端登录

  1. 用户登录,烧瓶生成会话,并通过设置cookie客户端存储会话
  2. 用户向后端发出另一个请求,并将其 cookie 发送到存储会话的位置,并且 flask 使用用于加密会话的密钥验证会话
  3. 当会话有效时,烧瓶加载会话,这意味着用户已登录

据我所知,JWT 的工作原理如下。它生成一个令牌,客户端存储令牌,并在每个请求中将其发送到服务器,在那里验证令牌。

据我所知,烧瓶和JWT都使用秘密来加密数据。

那么我们可以说,烧瓶会话和JWT在某种程度上是相似的吗?

jwt 和 flask 会话都在客户端上工作,但主要区别在于 flask 会话将签名的会话数据存储在客户端 cookie 上,但在 jwt 中,您可以独立地将令牌存储在您想要的任何位置,例如本地存储、cookie 等。

默认情况下,jwt 将采用base64 编码,而在烧瓶会话中,为了安全起见,必须手动完成。但是,是的,传统会话(例如php(和烧瓶会话之间的区别在于会话数据存储在客户端中,而不是作为服务器上的文件(而客户端cookie在传统会话中具有会话ID(。

最新更新