• jwt登录


    session 登录的缺陷:
    1. session 是将客户端数据储存在服务器的内存,当客户端的数据过多,连接较多,服务器的内存开销大。
    2. session 的数据储存在某台服务器,在分布式的项目中无法做到共享。
    3. 前后端分离的项目中共享 session 比较困难。
    4. jwt 不需要在服务端去保留用户的认证信息或者会话信息。

    JWT

    jwt 全称是 json web token。是由用户以用户名、密码登录,服务端验证后,会生成一个 token,返回给客户端,客户端在下次访问的过程中携带这个 token,服务端责每次验证这个token。

    JWT构成

    jwt 由三部分组成,每一部分之间用符号"."进行分割,整体可以看做是一个长字符串。一个经典的jwt的样子:xxx.xxx.xxx。

    Header 头部

    头部由两部分组成:第一部分是声明类型,在 jwt 中声明类型就 jwt,第二部分是声明加密的算法,加密算法通常使用 HMAC|SHA256。

    {
      'type': 'JWT',      //  'type':'声明类型'
      'alg': 'HS256'	//	'alg':'声明的加密算法'
    }
    
    • 1
    • 2
    • 3
    • 4
    Payload 载体、载荷

    这一部分是jwt的主体部分,这一部分也是json对象,可以包含需要传递的数据
    其中jwt指定了七个默认的字段选择,这七个字段是推荐但是不强制使用,通常我们说 JWT 用于用户登陆,就可以在这个地方放置用户的id和用户名

    signature 签证

    这部分是对前两部分进行base64编码在进行加密,这个加密的方式使用的是jwt的头部声明中的加密方式,在加上一个密码(secret)组成的,secret 通常是一个随机的字符串,这个 secret是服务器特有的,不能够让其他人知道。

    JWT的优点

    1. json形式,而json非常通用性可以让它在很多地方使用
    2. jwt所占字节很小,便于传输信息
    3. 需要服务器保存信息,易于扩展
  • 相关阅读:
    得不到你的心,就用“分布式锁”锁住你的人
    基于开源ERDDAP的海洋学科数据分发技术简介
    2-95 基于matlab的模板定位
    《HelloGitHub》第 88 期
    水文科技新仪器——地埋式积水探测器
    基于安卓android微信小程序宠物交易小程序
    【云开发】小程序端操作数据库详解
    负号重载C++
    「Python实用秘技17」快速获取国内节假日安排
    OpenGL之坐标系以及单位
  • 原文地址:https://blog.csdn.net/qq_56851614/article/details/126667739