SpringBoot中基于JWT的单token授权和续期方案

在前后端分离架构中,用户登录成功后,后端颁发JWT token至前端,该token被安全存储于LocalStorage。随后,每次请求均自动携带此token于请求头中,以验证用户身份。后端设有过滤器,拦截并校验token有效性,一旦发现过期则引导用户重新登录。

简单的说明token实现身份认证的步骤:

  1. 用户登录成功服务端返回token
  2. 之后每次用户请求都携带token,在Authorization Header中。
  3. 后端服务取出token进行decode,判断有效期及失效策略。
  4. 返回对应的成功失败

鉴于JWT包含用户信息且需保障安全,其过期时间通常设置较短。然而,这易导致用户频繁登录,尤其是在处理复杂表单时(比如在线考试),因耗时过长而遇token过期,引发不必要的登录中断和数据丢失,严重影响用户体验。如何在用户无感知状态下实现token自动续期的策略,减少频繁登录需求,确保表单数据不丢失?

解决token过期的续期问题可以有很多种不同的方案,这里举一些比较有代表性的例子,一种是单token续期,一种是双token续期。

1 单token续期

  1. 用户认证与Token生成:用户成功登录后,服务端生成一个包含必要信息的JWT(Json Web Token),并返回给客户端。此Token作为后续请求的身份验证依据。
  2. 请求携带Token:在后续的每一次API请求中,客户端都需在HTTP请求的Authorization头部字段中携带此JWT,以便服务端验证用户的身份和权限。
  3. Token管理策略:服务端设定了Token的失效时间(或失效次数)以及一个重新登录的期限阈值。每当用户登录时,服务端会记录当前的登录时间,以便后续验证使用。
  4. Token验证与响应
  • 当用户携带Token发起请求时,服务端首先根据Token的失效时间和重新登录期限进行验证。
  • 若Token有效,则正常处理请求并返回所需资源。
  • 若Token已失效但仍在重新登录期限内,服务端返回特定的错误代码提示Token已过期,同时提示客户端进行Token刷新。
  1. Token刷新机制
  • 客户端接收到Token过期错误代码后,自动调用Refresh Token接口,向服务端请求刷新Token。
  • 服务端验证请求的有效性(如检查是否仍在重新登录期限内等),通过后生成新的有效Token并返回给客户端。
  1. 使用刷新后的Token:客户端在收到新的Token后,自动替换掉旧的Token,并在后续的请求中携带此新Token继续访问服务。
  2. 强制重新登录
  • 若服务端判断当前Token的使用时长已超过了设定的重新登录期限,则不再允许通过Refresh Token接口刷新Token。
  • 此时,服务端会返回强制重新登录的错误代码给客户端,客户端接收到此代码后,应引导用户跳转至登录页面进行重新登录。

比如:

  • 将 token 过期时间设置为15分钟;
  • 前端发起请求,后端验证 token 是否过期;如果过期,前端发起刷新token请求,后端为前端返回一个新的token;
  • 前端用新的token发起请求,请求成功;
  • 如果要实现每隔72小时,必须重新登录,后端需要记录每次用户的登录时间;用户每次请求时,检查用户最后一次登录日期,如超过72小时,则拒绝刷新token的请求,请求失败,跳转到登录页面。
  • 后端还可以记录刷新token的次数,比如最多刷新50次,如果达到50次,则不再允许刷新,需要用户重新授权。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1183508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

别被“骗”了,它竟是伪装成小国的领土大国

在欧洲版图上,丹麦常以“袖珍强国”的形象示人——本土面积仅4.3万平方公里,人口不足600万,是北欧兼具童话气息与高福利的小国。 但鲜有人知,这片位于斯堪的纳维亚半岛南端的土地,凭借对格陵兰岛的主权掌控&#xff0…

WinDbg使用教程:从零实现内存泄漏追踪的操作指南

用 WinDbg 玩透内存泄漏追踪:从零开始的实战指南 你有没有遇到过这样的情况?某个服务跑着跑着内存蹭蹭上涨,几天后直接 OOM 崩溃。重启能缓解,但治标不治本。日志里查不到线索,代码翻来覆去也没发现明显漏 delete 的…

你可能从来没有,从这个视角看我国沿海省份

我们换个角度看沿海各省份之后,有网友说像一只海马,也有网友说像北斗,还有网友说像一把锋利的镰刀。你觉得,它到底像什么呢?换个视角之后,你看到了什么?

zz大模型工具调用(function call)原理及实现,一般

https://zhuanlan.zhihu.com/p/663770472 大模型工具调用(function call)原理及实现

Day 92:【99天精通Python】终极项目 - AI 聊天机器人 (中) - 知识库与 RAG

Day 92:【99天精通Python】终极项目 - AI 聊天机器人 (中) - 知识库与 RAG 前言 欢迎来到第92天! 在昨天的课程中,我们搭建了一个带记忆的流式聊天 API。但是,这个 AI 只能基于它自身的通用知识来回答问题。如果我们想让它成为一个…

零基础网络安全高效入门:核心就学这些,边练边学快速上手

目录 一、什么是网络安全 1.1 网络安全的定义:1.2 信息系统(Information System)1.3 信息系统安全三要素(CIA)1.4 网络空间安全1.5 国家网络空间安全战略1.6 网络空间关注点1.7 网络空间安全管理流程 二、网络安全术语…

通俗解释UDS诊断中31服务的三步控制流程

深入浅出:UDS 31服务的三步控制逻辑,如何精准操控ECU内部“隐藏功能”?你有没有遇到过这样的场景——一辆车在产线下线时需要自动完成电机校准,维修站里技师要手动触发某个传感器的自检程序,或者OTA升级前系统得先确认…

避免QTimer内存泄漏:入门阶段需要注意的问题

避免 QTimer 内存泄漏:新手最容易忽略的“小定时器”大问题你有没有遇到过这样的情况?一个看似简单的 Qt 应用,运行几个小时后内存越占越多,界面越来越卡,最后干脆崩溃退出。查了一圈代码,没发现哪里在疯狂…

新手教程:应对Keil5菜单及对话框中文乱码

手把手解决Keil5中文乱码:从界面乱码到文件路径全修复你有没有遇到过这种情况?打开Keil5,菜单栏突然变成一堆“锟斤拷”、“鑿鋮濠”,工程名字显示为方框,甚至连文件路径都看不清了——明明系统是中文的,为…

提升<|关键词|>效率:精准检索学术资源的实用技巧与工具推荐

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

2026年靠谱的,招聘背景调查,招才背调公司用户优选名录 - 品牌鉴赏师

引言在当今竞争激烈的职场环境中,企业为了降低用工风险、提升招聘质量,对员工背景调查的需求日益增长。招聘背景调查作为企业招聘流程中的关键环节,能够帮助企业全面了解候选人的真实情况,确保招聘到合适的人才。然…

2026国内最新组合螺丝生产厂家最新top5排行榜发布!广东等地优质组合螺丝/端子螺丝/螺丝定制/螺丝加工公司及供应商综合实力盘点,助力电子电器_新能源_汽车配件领域高效生产. - 品牌推荐2026

随着电子电器、新能源及汽车配件行业的快速发展,组合螺丝作为关键连接部件,其品质稳定性与供应效率直接影响终端产品的装配质量与生产节奏。据中国紧固件工业协会2025年度行业报告显示,国内组合螺丝市场规模突破300…

公司想辞退的你六种表现,你get到了么?

对于想辞退你的公司,碍于《劳动合同法》的威力,大多数单位都不会去走直接裁员的艰苦道路,而是利用一些手段辞退,甚至让员工自己辞职,以达到降低人员成本的目的。以下就是最常见的六种方式。1调换工作调岗:调…

DeepSeek-R1-Distill-Qwen-1.5B推荐部署方式:Ollama一键拉取实战体验

DeepSeek-R1-Distill-Qwen-1.5B推荐部署方式:Ollama一键拉取实战体验 1. 背景与技术定位 随着大模型轻量化趋势的加速,如何在有限算力条件下实现高性能推理成为边缘计算和本地化部署的核心挑战。DeepSeek-R1-Distill-Qwen-1.5B 正是在这一背景下诞生的…

阿里Qwen3-4B-Instruct-2507避坑指南:部署常见问题全解

阿里Qwen3-4B-Instruct-2507避坑指南:部署常见问题全解 1. 引言 1.1 背景与需求 随着端侧AI的快速发展,轻量级大模型在本地设备上的部署成为开发者关注的核心方向。阿里通义千问团队推出的 Qwen3-4B-Instruct-2507 凭借40亿参数实现了对部分百亿级闭源…

实时降噪技术落地利器|FRCRN-16k大模型镜像详解

实时降噪技术落地利器|FRCRN-16k大模型镜像详解 1. 引言:语音降噪的工程化挑战与突破 在智能语音设备、远程会议系统和移动通信场景中,环境噪声始终是影响语音质量的核心障碍。传统降噪算法受限于固定滤波参数和有限的非线性建模能力&#…

学术搜索入口:快速查找学术资源的便捷通道

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

从零到一:通向CISP安全工程师的网络安全入门完全指南(附学习清单)

目录 一、什么是网络安全 1.1 网络安全的定义:1.2 信息系统(Information System)1.3 信息系统安全三要素(CIA)1.4 网络空间安全1.5 国家网络空间安全战略1.6 网络空间关注点1.7 网络空间安全管理流程 二、网络安全术语…

DeepSeek-R1-Distill-Qwen-1.5B参数压缩:结构化剪枝技术

DeepSeek-R1-Distill-Qwen-1.5B参数压缩:结构化剪枝技术 1. DeepSeek-R1-Distill-Qwen-1.5B模型介绍 DeepSeek-R1-Distill-Qwen-1.5B是DeepSeek团队基于Qwen2.5-Math-1.5B基础模型,通过知识蒸馏技术融合R1架构优势打造的轻量化版本。其核心设计目标在于…

Qwen-Image-2512部署费用高?Spot实例降本实战指南

Qwen-Image-2512部署费用高?Spot实例降本实战指南 1. 背景与痛点:大模型推理成本的现实挑战 随着多模态生成模型的快速发展,Qwen-Image-2512作为阿里云开源的最新图像生成模型,在分辨率、细节表现和语义理解能力上实现了显著提升…