无感token实现方案

简介: 无感token实现方案

在工作中我们经常使用令牌作为前后端交互通信的方式,令牌是为了保证数据传递之间的安全性,在岁月的长河中,我们想方设法的去提高用户体验,无感token就是其中一种,它能够让用户在无需登录的情况实现令牌的刷新,自己常用的有以下几种实现方案:

第一种:定时获取token

后端设置token为10分钟过期,我们通过写一个九分钟的周期性定时器,去定时去调用请求token接口,获取最新的token令牌,以此达到用户无感知的刷新token,同时也为保证了用户数据的私密性,当用户离开当前这个网站的时候,我们将定时器进行销毁,token令牌进行清空,缺点是定时器会引起内存消耗问题

第二种:双token方案

双token方案是指后端返回两个token,一个短期token,一个长效token,长效token是用于获取短期token的,短期token是用于获取数据的,当短期token过期的时候,后端会返回过期的状态码,然后前端再用长效token去请求获取短期token,这样保证了用户的数据安全性同时也实现了无感刷新token,只有当长效token失效的时候我们才让用户前去登录页面进行登录

第三种: 使用旧token去获取新token

当用户token过期的情况下,我们通过判断后端的状态码,然后拿旧token去获取一个新token再去请求数据,这样也可以去拿取数据,但是这种情况必须是用户的只要有一个在线的登录地,不能有其他登录地,否则会造成数据库的token存取出现问题

坚持努力,无惧未来!

相关文章
|
存储 JSON 安全
解锁互联网安全的新钥匙:JWT(JSON Web Token)
解锁互联网安全的新钥匙:JWT(JSON Web Token)
542 0
|
前端开发 Java 关系型数据库
手办商城系统|Springboot+vue+ElementUI手办商城系统
手办商城系统|Springboot+vue+ElementUI手办商城系统
335 0
|
5月前
|
JavaScript API 网络架构
Nuxt3报错解读:解除“Hydration children mismatch in <div>”的困扰。
记住,每一次报错都是对你编程能力的提升,在你一步步攀爬这座小山时,那些微小而坚实的步伐不仅帮你解决眼前的问题,也正是你构筑面向未来的金字塔的基石。
170 15
|
安全 Linux 开发者
⭐⭐⭐⭐⭐Linux C/C++ 进程崩溃诊断以及有效数据收集:解锁代码问题快速定位与修复的方法
⭐⭐⭐⭐⭐Linux C/C++ 进程崩溃诊断以及有效数据收集:解锁代码问题快速定位与修复的方法
740 1
|
机器学习/深度学习 运维 Python
python深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列
python深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列
|
存储 UED
如何在项目中无感地刷新用户的令牌?
【2月更文挑战第16天】
226 1
|
存储 并行计算 算法
深入解析Java并发库(JUC)中的Phaser:原理、应用与源码分析
深入解析Java并发库(JUC)中的Phaser:原理、应用与源码分析
|
12月前
|
存储 缓存 运维
缓存技术有哪些优缺点呢
【10月更文挑战第19天】缓存技术有哪些优缺点呢
|
存储 缓存 前端开发
前端快照实现方案详解
前端快照实现方案详解
897 1
|
调度 C语言
深入浅出:C语言线程以及线程锁
线程锁的基本思想是,只有一个线程能持有锁,其他试图获取锁的线程将被阻塞,直到锁被释放。这样,锁就确保了在任何时刻,只有一个线程能够访问临界区(即需要保护的代码段或数据),从而保证了数据的完整性和一致性。 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一个进程可以包含一个或多个线程,而每个线程都有自己的指令指针和寄存器状态,它们共享进程的资源,如内存空间、文件句柄和网络连接等。 线程锁的概念
687 1