cookie + seesion 模式的缺点:

依赖 redis

jwt:无状态。用户信息保存在 token 中

jwt 获取过程和 session 无差,用户成功登录,返回用户 token

jwt 包含

  • Header

    1
    2
    alg:"HS256" 默认加密
    typ:"JWT" json web token
  • Payload

    1
    2
    3
    4
    5
    6
    7
    iss:发行人
    sub:主题
    aud:用户
    exp:到期时间
    nbf:生效时间
    iat:发布时间
    jti:JWT ID,唯一标识
  • Signture

    前面。通过JWT 头部指定的算法生成 hash 保证数据不会被纂改

    纂改后这个签名就会变

缺点:

无状态。导致无法强制下线用户。只能通过调小有效时间。