当前位置: 首页 > news >正文

权限校验中的“双token”方案

1. 双Token中的两个token分别是什么?

1.1 access_token

1.2 fresh_token

2. 为什么需要双token?一个token不行吗?

答: 两个token的职责不同。其中,access_token是在每次请求的时候携带给后端进行权限校验,但是这个token的过期时间很短,一般可能就半个小时,一旦用户半个小时都没有进行任何权限操作,这个token将会过期,这个时候再进行请求后端服务的时候,后端就会返回token过期的提示信息(自己团队内部决定),这个时候前端就可以使用类似于拦截器的东西进行拦截这次请求,当获得token过期提示信息时,前端就可以偷偷拿出登录获得的第二个token(refresh_token)去请求刷新token的接口进行token刷新,这个接口返回的就是刷新后的两个token,前端拿到后,就可以进行再次请求获取相关信息。

注:refresh_token的过期时间一般比access_token的过期时间长一倍,甚至更长

3. 为什么不用一个token,后端判断当快到期的时候,进行刷新token操作?

答:因为我们一边要达到用户如果用户在操作,token就不会过期的效果,一边又要达到如果token被不法分子劫持,他们的权限也不会持续太久的情况,就只能设置双token。

在以前,我们设计单token的方案进行token过期刷新,一旦这个token泄露,不法分子就可以无限进行token刷新,从而造成无法挽回的后果。

4. 那如果单token都能被劫持的话,那refresh_token难道就不会被劫持了吗?

答:答案是也会,但是refresh_token只有在token过期的那一刻才会使用,劫持的概率比access_token小太多,就算不法分子使用抓包工具,在很长一段时间也不一定能抓到一个refresh_token的包,所以可以算是一种不错的解决方案。

相关文章:

权限校验中的“双token”方案

1. 双Token中的两个token分别是什么? 1.1 access_token 1.2 fresh_token 2. 为什么需要双token?一个token不行吗? 答: 两个token的职责不同。其中,access_token是在每次请求的时候携带给后端进行权限校验&#xff…...

TensorFlow的基本概念

TensorFlow 是由 Google 开发的开源机器学习框架,其基本概念如下: 1. 张量(Tensor):TensorFlow 中最基本的数据结构,是多维数组,可以理解为向量或矩阵的推广。常见的张量有常量张量、变量张量和…...

【卷积神经网络】MNIST 手写体识别

LeNet-5 是经典卷积神经网络之一,1998 年由 Yann LeCun 等人在论文 《Gradient-Based Learning Applied to Document Recognition》中提出。LeNet-5 网络使用了卷积层、池化层和全连接层,实现可以应用于手写体识别的卷积神经网络。TensorFlow 内置了 MNI…...

Ansible学习笔记2

Ansible是Python开发的自动化运维工具,集合了众多运维工具(Puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置,批量程序部署、批量运行命令等功能。 特点: 1)部署简单&#xff…...

80. 删除有序数组中的重复项 II

【中等题】 题目: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额…...

CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析

CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析 漏洞简介 Windows错误报告服务在提交错误报告前会创建wermgr.exe进程,而攻击者使用特殊手法欺骗系统创建伪造的wermgr.exe进程,从而以system权限执行代码。 影响版本 Windows10 1507 * Wind…...

IDEA遇到 git pull 冲突的几种解决方法

1 忽略本地修改,强制拉取远程到本地 主要是项目中的文档目录,看的时候可能多了些标注,现在远程文档更新,本地的版本已无用,可以强拉 git fetch --all git reset --hard origin/dev git pull关于commit和pull的先后顺…...

[Unity]UI和美术出图效果不一致

问题描述:美术使用PS在Gamma空间下设计的UI图,导入到Unity,因为Unity使用的是线性空间,导致半透明的UI效果和美术设计的不一致。 解决方案: (一)让美术在线性空间下工作 (二&…...

SpringBoot整合JPA和Hibernate框架

Springboot整合JPAHibernate框架【待完成】 随着MybatisPlus技术的发展&#xff0c;JPA和Hibernate技术已经逐步淘汰 JPA遵循了Hibernate框架规则&#xff0c;目前使用的不多 1、添加依赖 <!--jpa--> <dependency><groupId>org.springframework.boot</…...

Java中文件的创建(三种方式),文件常用的方法

文件的创建 方式1&#xff1a; new File(String pathName) 根据路径构建一个File对象方式2&#xff1a; new File(File parent,String child) 根据父目录文件子路径构建方式3&#xff1a; new File(String parent,String child) 根据父目录子路径构建 代码&#xff1a; //方…...

Spring boot中调用C/C++(dll)

添加JNA依赖 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.5.0</version> </dependency>准备C代码/C代码 如下是C代码&#xff0c;文件名&#xff1a;xizi.c #include <std…...

【Apollo学习笔记】——规划模块TASK之PATH_DECIDER

文章目录 前言PATH_DECIDER功能简介PATH_DECIDER相关配置PATH_DECIDER总体流程路径决策代码流程及框架MakeStaticObstacleDecision PATH_DECIDER相关子函数参考 前言 在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……S…...

Lua学习(二)

Lua基础学习 7. lua函数8. lua运算符8.1 算数运算符8.2 关系运算符8.3 逻辑运算符8.4 其他运算符 9. lua字符串9.1 字符串格式化9.2 匹配模式 10. lua数组11. lua迭代器11.1 Lua table 12. lua 模块12.1 加载机制12.2 C 包 接着上一篇的内容。Lua学习&#xff08;一&#xff09…...

制作鲜花商城小程序的详细步骤

如果你是一个新手商家&#xff0c;想要进入鲜花团购市场&#xff0c;但是不知道如何制作一个小程序商城&#xff0c;那么这篇文章就是为你准备的。以下是制作鲜花团购小程序商城的详细步骤&#xff1a; 1. 登录乔拓云平台后台&#xff0c;进入商城管理页面 首先&#xff0c;你需…...

Ubuntu20以上高版本如何安装低版本GCC

安装了Ubuntu 20.04之后&#xff0c;通过命令行 sudo apt-get install build-essential安装gcc&#xff0c;再通过命令行 gcc -v可查看gcc版本为gcc13 如果想用低版本的gcc&#xff0c;比如gcc4.8&#xff0c;尝试输入命令 sudo apt-get install gcc-4.8会提示找不到gcc4.8的…...

context.WithCancel()的使用

“ WithCancel可以将一个Context包装为cancelCtx,并提供一个取消函数,调用这个取消函数,可以Cancel对应的Context Go语言context包-cancelCtx[1] 疑问 context.WithCancel()取消机制的理解[2] 父母5s钟后出门&#xff0c;倒计时&#xff0c;父母在时要学习&#xff0c;父母一走…...

vue3中引入百度地图

话不多说直接开干 1.第一种方式 百度地图地址 打开 https://lbsyun.baidu.com/index.php?title%E9%A6%96%E9%A1%B5 然后点进去地图 然后再这个功能里面选择一个地图&#xff0c;然后跳转页面 然后一直下滑 滑到底部 点击这个 跳转到这个页面 然后点击进入demo这个 然后到这个…...

【Linux-Day8- 进程替换和信号】

进程替换和信号 问题引入 我们发现 终端输入的任意命令的父进程都是bash,这是因为Linux系统是用fork()复制出子进程&#xff0c;然后在子进程中调用替换函数进行进程替换&#xff0c;实现相关命令。 &#xff08;1&#xff09; exec 系列替换过程&#xff1a;pcb 使用以前的只…...

日志文件之间关系和介绍及应用

1.常用日志框架代码举例 Log4j: Log4j是Java中广泛使用的日志框架之一。它提供了灵活的配置选项和丰富的功能&#xff0c;支持日志级别、日志输出目标等。Log4j有1.x版本和2.x版本&#xff0c;其中Log4j 2.x是对1.x的升级和扩展。 Logback: Logback是由Log4j创始人设计的Log4…...

mac电脑屏幕录制Berrycast Mac屏幕录制软件

Berrycast是一款为Mac设计的优秀屏幕录制软件&#xff0c;它让屏幕录制变得简单而高效。以下是Berrycast的一些主要特点&#xff1a; 简单的用户界面&#xff1a;Berrycast拥有直观和简洁的用户界面&#xff0c;使得用户可以轻松上手。高质量的视频输出&#xff1a;Berrycast能…...

麒麟系统离线部署OnlyOffice,我踩过的那些坑(附Docker镜像包和完整配置)

麒麟系统离线部署OnlyOffice实战避坑指南 在国产化替代浪潮中&#xff0c;麒麟系统作为主流国产操作系统&#xff0c;正逐步应用于各类关键信息基础设施领域。而办公软件作为日常刚需&#xff0c;如何在麒麟系统上实现高效、安全的文档协作成为许多技术团队面临的挑战。OnlyOff…...

RISC-V双芯架构在智慧燃气报警器中的系统级设计与工程实践

1. 项目概述&#xff1a;当RISC-V芯遇上智慧燃气最近在深圳的智慧燃气发展论坛上&#xff0c;我注意到一家叫微五科技的芯片设计公司&#xff0c;他们带来了一套挺有意思的解决方案。核心不是别的&#xff0c;正是当下在嵌入式领域越来越火的RISC-V架构。他们这次重点展示的&am…...

一键部署童年回忆:用1Panel面板轻松构建在线DOS游戏库

1. 为什么你需要一个在线DOS游戏库&#xff1f; 记得小时候偷偷在电脑课打开《仙剑奇侠传》的快乐吗&#xff1f;或者为了通关《金庸群侠传》熬夜到凌晨的疯狂&#xff1f;这些经典DOS游戏承载着太多80、90后的集体记忆。但如今想在现代电脑上运行这些老游戏&#xff0c;光是配…...

从‘盲人摸象’到‘全局视野’:手把手教你用MATLAB/Simulink仿真PSO-MPPT对抗光伏遮荫(避坑指南)

从‘盲人摸象’到‘全局视野’&#xff1a;手把手教你用MATLAB/Simulink仿真PSO-MPPT对抗光伏遮荫&#xff08;避坑指南&#xff09; 光伏发电系统在局部遮荫条件下&#xff0c;功率-电压特性曲线会呈现多峰值现象&#xff0c;传统MPPT算法容易陷入局部最优。粒子群优化&#x…...

避坑指南:为什么你的mqtt.fx连不上OneNET?Token生成与参数配置的3个关键细节

避坑指南&#xff1a;为什么你的mqtt.fx连不上OneNET&#xff1f;Token生成与参数配置的3个关键细节 当你深夜调试MQTT设备&#xff0c;反复检查代码却依然看到刺眼的"离线"状态时&#xff0c;那种挫败感我深有体会。OneNET作为国内主流物联网平台&#xff0c;其MQTT…...

从源头到输出:开关电源纹波与噪声的精准抑制策略

1. 开关电源纹波与噪声的本质解析 第一次拆解开关电源时&#xff0c;我被电路板上密集的元器件和错综复杂的走线震撼到了。作为电源工程师&#xff0c;我们每天都在和这些看不见的"电脉冲"打交道——纹波就像电源的心跳&#xff0c;而噪声则是它偶尔的"咳嗽&qu…...

为什么你的Midjourney出图总像快照?——深度拆解--camera、--lens、--lighting三大未公开参数的物理建模逻辑

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;为什么你的Midjourney出图总像快照&#xff1f;——核心问题诊断与视觉语义断层解析 Midjourney 生成图像常被诟病“缺乏绘画性”“构图平庸”“质感单薄”&#xff0c;其本质并非模型能力不足&#xff0c;而是…...

随心剪99.2分断层登顶!个人创作者AI剪辑工具权威评测TOP1

——基于800博主实测&#xff0c;30秒一键成片&#xff0c;1人顶5人&#xff0c;轻松实现日更爆款本次评测基于800美食、穿搭、知识、vlog等领域个人创作者的真实使用数据、出片效率复盘及深度访谈&#xff0c;覆盖一键成片速度、智能适配度、素材丰富度、操作便捷性四大核心维…...

人大金仓KingbaseES适配踩坑大全:MyBatis-Plus项目里那些MySQL语法不兼容的“坑”怎么填?

人大金仓KingbaseES适配实战&#xff1a;MyBatis-Plus项目MySQL语法迁移避坑指南 当企业级应用需要从MySQL迁移到国产数据库人大金仓KingbaseES时&#xff0c;开发者往往会遇到各种SQL语法不兼容的问题。作为基于PostgreSQL内核的数据库&#xff0c;KingbaseES在语法细节、函数…...

用数据校准方向,让实习招聘更有章法

为什么盲目投流不如精准的搜索曝光&#xff1f; 在校招实习的日常招募中&#xff0c;HR常常面临一个困惑&#xff1a;明明岗位薪资和公司平台都不错&#xff0c;为什么搜索量和投递量却迟迟上不去&#xff1f;这往往是因为在信息密度极高的春招季&#xff0c;企业的校招信息被…...