• JWT与token的区别


    token

    token的认证流程:

    1. 用户输入用户名和密码,发送给服务器,服务器验证账号密码成功
    2. 服务器生成令牌,本质是一个唯一字符串,可以使用uuid
    3. 将该令牌存到数据库或redis中,key是uuid,value是用户信息
    4. 把令牌返给客户端
    5. 下次请求的时候就把令牌放在请求头里带上
    6. 从数据库或redis中验证该令牌是否过期
    7. 没有过期获取value内容user信息

    优点

    1. 可以隐藏真实数据,安全系数高
    2. 适用于分布式/微服务
    3. token支持手动控制,过期、吊销等
    4. 可以实时查询现有token

    缺点

    1. 存放在数据库或者redis,依赖服务器资源
    2. 效率相对jwt比较低

    JWT

    概念

    JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证

    JWT的认证流程:

    1. 用户输入用户名和密码,发送给服务器,服务器验证账号密码成功
    2. 服务器使用签名秘钥生成jwt,把用户id放到jwt中
    3. 把令牌返给客户端
    4. 下次请求的时候就把令牌放在请求头里带上
    5. 服务器使用签名秘钥验证jwt是否有效
    6. 有效后可以从jwt中获取到用户id

    优点

    1. token自身包含用户信息且无法篡改,数据实际保存在客户端,所以我们可以分担数据库或服务器的存储压力

    缺点

    1. 建议不要放敏感数据
    2. Jwt生成之后无法修改(发生变化)
    3. 后端无法统计生成jwt
    4. 无法吊销令牌,只能等待令牌自身过期
    5. 令牌长度与其包含用户信息多少正相关,传输开销较大
    6. Jwt是无状态的,如果别人获取到了,别人也能用
  • 相关阅读:
    vsCode 忽略 文件上传
    java毕业生设计医患辅助系统计算机源码+系统+mysql+调试部署+lw
    有关微信小程序如何使用mathjs
    常见的推荐算法原理介绍
    JavaWeb 文件上传和下载
    SpringBoot 配置文件加载优先级
    从零开始, 开发一个 Web Office 套件 (3): 鼠标事件
    uniapp路由跳转的六种方式
    构造、清理、拷贝和移动简单实例
    OpenCV图像特征提取学习四,SIFT特征检测算法
  • 原文地址:https://blog.csdn.net/qq_34706514/article/details/125445476