会话方式-Session、Token和JWT


Session

  • 保持在服务器,增加服务器的开销
  • 分布式架构中,难以维持session回话同步
  • CSRF攻击风险
    在这里插入图片描述

Token

  • 保存在客户端
  • 跨语言、跨平台
  • 拓展性强
  • 鉴权性能高

在这里插入图片描述

JWT

JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。

jwt由三个部分组成,分别是header、playload、signature

header头部

  • 声明类型
  • 声明加密算法,默认为HS256
  • base64加密,可以解密

playload负载

  • 存放过期时间、签发用户等
  • 可以添加用户的非敏感信息
  • base64加密,可以解密

signature签名

  • 由三部分组成
  • 使用base64加密之后的header+.+使用base64加密之后的playload+使用HS256算法加密,同时secret加盐处理

猜你喜欢

转载自blog.csdn.net/qq_33537936/article/details/114194244