yb课堂之分布式应用下登陆校验解决方案 JWT讲解 json wen token 《八》

什么是JWT?

  • JWT是一个开放标准,它定义了一种用户简介,自包涵的用于通信双方之间以JSON对象的形式安全传递信息的方法。可以使用HMAC算法或者是RSA的公钥密钥进行签名
  • 简单来说:就是通过一定规范来生成token,然后可以通过解密算法逆向解密token,这样就可以后去用户信息
  • 优点
    • 生产的token可以包含基本信息,比如id,用户昵称,头像等信息,避免再次查库
    • 存储在客户端,不占用服务端的内存资源
  • 缺点
    • token是经过base64编码,所以可以解密,因此token加密前的对象不应该包含敏感信息,如用户权限,密码等
    • 如果没有服务端存储,则不能做登陆失效处理,除非服务端改密钥
  • JWT格式组成 头部、负载、签名
    • header+payload+signature
      • 头部:主要是描述签名算法
      • 负载:主要描述是加密对象的信息,如用户的ID等,也可以加些规范里面的东西,如iss签发者,expire 过期时间,sub面向的用户
      • 签名:主要是把前面两部分进行加密,防止别人拿到token进行base解密后篡改token

关于jwt客户端存储

  • 可以存储在cookie,loccalstorage和sessionStorage里面
原文地址:https://www.cnblogs.com/chenyanbin/p/13324206.html