首页 > 其他分享 >JWT 笔记

JWT 笔记

时间:2024-10-21 22:43:40浏览次数:6  
标签:redis JWT 笔记 header token 刷新 payload

总结

  1. 由header、payload、signature三部分构成,并由英文句号拼接一起
  2. payload中存储了部分数据,可减少后端数据库查询
  3. header和payload只是用base64编码,并未加密,payload有敏感数据要手动加密
  4. jwt在过期时间到之前没法撤销,想要即时登出用户,可以采用类似oauth2.0协议中的做法:
    • 认证后颁布2个token,access token(jwt)和refresh token(可不为jwt,存储在redis中)。访问token设置较短的过期时间,如10分钟,刷新token设置较长的过期时间,如7天,每次访问token失效时,使用刷新token去获取访问token,直至刷新token在redis中失效,所以登出可以把刷新token从redis中删除(会引入新问题:双token如何实现无感刷新?前端拦截器或定时轮询查看访问token是否失效,失效则主动刷新)

JWT (JSON Web Token) 结构

image
image
header和payload使用base64解码后可以得到对应的json数据

header(头部)

alg:表示加密算法
typ: 表示Token类型,JWT | JWS | JWE

payload(实际传递的数据)

分为注册声明(claims)和自定义声明两类,如下图
image

signature(签名)

保证数据不被篡改,只需再进行一次加密得出签名,对比签名是否一致,不一致就是被篡改了
image

JWT工作流程

image

个人笔记备忘,整理自知行小课

标签:redis,JWT,笔记,header,token,刷新,payload
From: https://www.cnblogs.com/kyou/p/18491555

相关文章

  • 带权并查集 学习笔记
    顾名思义,就是并查集带权值。在路径压缩的时候,我们还要维护权值应该怎么办呢?关联题目:P1196[NOI2002]银河英雄传说。我们对于一个舰队维护一个\(fr\)表示到头部的距离,\(cnt\)表示该舰队的战舰数量。那么每一次合并时,先进行路径压缩,找到父亲,在将父亲的权值传下来即可。因为每......
  • 位运算笔记
    位运算笔记对二进制数进行直接操作:基础操作:例:a=00001101;b=00110101;与:a&b==00000101;//当两个数的第i位都为1时,a&b的第i位才为1或:a|b==00111101;/*当两个数的第i位都为0时,a|b的第i位才为0或者说两个数的第i位其中至少有一个为1,对应的a|b的第i位就为1*/......
  • HTML笔记
    什么是网站:网站其实是由一个个的网页构成的网页就是放在服务器上面的一个文件我们浏览网页的时候这个文件里的所有代码会被下载到我们本地的电脑,然后再由浏览器解析,渲染而网站就是一个绑定了域名的文件夹,该文件夹中可以包含子文件夹以及各种各样的文件,这些文件都可以通......
  • C++研发笔记4——C语言程序设计初阶学习笔记2
            从今天开始我们开始第二模块初识C语言的学习,在本模块中我们将会涉及到一下14个内容:什么是C语言、第一个C语言程序、数据类型、变量、常量、字符串+转义字符+注释、选择语句、循环语句、函数、数组、操作符、常见关键字、define定义常量和宏、指针......
  • 《微分几何讲义(陈省身)》读书笔记 第二章 多重线性代数
    第二章多重线性代数Note:本文默认了基本的向量空间和矩阵的相关知识。本文中所有的向量空间默认是有限维的,且定义在一个域\(\mathbb{F}\)上。本文采用Einstein求和约定。§1张量积[Def1.1]对于向量空间\(V_1,\cdots,V_r\)和\(Z\),若映射\(f:V_1\times\cdots\timesV......
  • 《程序员修炼之道》读书笔记1
    1.“我的源码让猫给吃了”在工作过程中,出现突发情况,无论是因为磁盘垮了,没有备份,还是交付晚了,都属于是我们个人失误,应该坦率的承认错误,并提出解决方案,向老板和客户解释“我的源码让猫给吃了”没有任何意义。其次,在代码编写工作中,作为成熟的程序员,我们应当知道自己所能承受的极限在......
  • JAVA拦截器配合JWT、ThreadLocal的登录校验
    @TOC拦截器配合JWT、ThreadLocal的登录校验关于为什么要写这篇文章,今天在做项目的时候发现配置了拦截器,但是不生效,最后排查半天发现引入包有问题,遂决定写一篇详细的拦截器的使用。举例也都是根据案例写的,可能会有些许阅读困难,这里面的示例的TOKEN是在请求头里面的。使用......
  • TS学习笔记(三)
    TS语言继承了JS的类型设计,js将值分为8中类型:boolean、string、number、undefined、null、symbol、bigint、object。注意,上面所有类型的名称都是小写字母,首字母大写的Number、String、Boolean等在js语言都是内置对象,而不是类型名称。 bigint与number类型并不兼容constx:bigi......
  • 【论文阅读笔记】An Image is Worth 1/2 Tokens After Layer 2: Plug-and-Play Infere
    论文地址:https://arxiv.org/pdf/2403.06764代码地址:https://github.com/pkunlp-icler/FastV目录IntroductionInefficientVisualAttentioninVLLMsPreliminaries两种分数结果分析FastVOverviewRe-rankandFilteringmodule(core)ThoughtIntroduction现象(问题):大多数LVL......
  • IIC通讯协议笔记
    iic通讯协议片上外设iic主发送器主发送器通讯过程发送开始位后等待EVT5,发送从机(slave)地址等待EVT6和发送要写入从机的寄存器等待EVT8,发送数据等待EVT8_2片上外设主接收器发送过程接收过程......