Json Web Token
发表于|更新于
|浏览量:
我以为人们在每一个时期都可以过有趣而且有用的生活。我们应该不虚度一生,应该能够说,“我已经做了我能做的事”,人们只能要求我们如此,而且只有这样我们才能有一点欢乐——居里夫人
校验逻辑如下:
我们客户端在每个需要登录的请求带着token访问我们的接口,在服务端的LoginInterceptor中进行校验token
登录逻辑如下:
1.登录校验用户名密码
2.生成token:通过jwt工具类,使用用户名和密码生成token,然后把token存redis,设置过期时间
刷新token逻辑如下:
token过期后返回 “token过期对应的code”,客户端使用一个大于token过期时间的refreshToken去调用刷新token的接口,refreshToken通过校验之后,直接生成新的token
我这里设置的两倍,这样在超过token有效期一倍,小于两倍时,期间可以刷新token,再超时就需要重新登录了
项目大家可以拉下来玩一玩



相关推荐
2024-09-09
Apache-ShenYu支持namespace功能(四)
教育的最高目标不是知识而是行动。——斯宾塞 本次适配是将几个页面的namespace选择框隐藏了,然后对data-permission数据权限配置弹框里添加了一个namespace选择框,并在内部切换namespace时候刷新表格 PR链接: https://github.com/apache/shenyu-dashboard/pull/479 隐藏namespace的逻辑很简单,首先用withRouter将react组件和dvajs的路由绑定: 1import { withRouter } from "dva/router"; 然后绑定: 1export default withRouter(GlobalHeader); 然后从props里取出当前路由 1const { location: { pathname } } = this.props; 进行判断,当不在下列路由里时,showNamespaces为true 12345678const showNamespaces = !~[ ...
2024-06-05
HuTool日期解析问题
多说话的人不是长于做事的人。——佚名 收到一个issue DateUtil.parse()无法解析日期: · Issue #3608 · dromara/hutool · GitHub 版本情况JDK版本: openjdk_8 and jdk17hutool版本: 5.2.7(请确保最新尝试是否还有问题) 问题描述(包括截图)“1940-06-01 00:00:00” ~ “1940-06-01 00:59:00”,这个时间范围是无法使用DateUtil.parse(dateTime, DatePattern.NORM_DATETIME_PATTERN)解析的 复现代码 123456@Testpublic void t17() { String dateTime = "1940-06-01 00:00:00"; DateTime parse = DateUtil.parse(dateTime, DatePattern.NORM_DATETIME_PATTERN); Console.log(parse);&...
2023-08-31
binlog4j
敢同恶鬼争高下,不向霸王让寸分。――毛泽东《七律庆祝第二次核试验成功》 分享一个基 于 Java 轻 量 级 的 Mysql (Mariadb) Binlog 客 户 端 binlog4j: 基 于 Java 轻 量 级 的 Mysql (Mariadb) Binlog 客 户 端 集群模式, 通过集群部署的方式,保证服务高可用。 宕机续读, 避免宕机期间造成数据丢失。 数据转换, 基于泛型封装 binlog Event 的序列化数据。 兼容 传统项目 与 Spring Boot / Cloud 项目。 兼容 Spring Boot 2.x 与 Spring Boot 3.x 版本。 下载安装12345<dependency> <groupId>com.gitee.Jmysy</groupId> <artifactId>binlog4j-core</artifactId> <version>latest.version</version></depen...
2023-02-04
rewriteBatchedStatements
从前的日色变得慢,车,马,邮件都慢,一生只够爱一个人。——木心 我们在使用mybatis进行批量更新时,可以在mysql的链接url处添加rewriteBatchedStatements=true提升效率. 文档:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-connp-props-performance-extensions.html 1rewriteBatchedStatements Should the driver use multi-queries, regardless of the setting of ‘allowMultiQueries’, as well as rewriting of prepared statements for INSERT and REPLACE queries into multi-values clause statements when ‘executeBatch()’ is called? Notice that this might allow SQL...
2026-01-02
locomotion
成功=艰苦劳动+正确的方法+少说空话。——爱因斯坦 🚂 Locomotion:把《我的世界》玩家动作“卷到飞起”的实时动画系统(曾用名:Trainguy’s Animation Overhaul) Locomotion 是一个为《我的世界》Java 版打造的强力 Mod,目标非常直接:给“实体”和“方块”带来复杂、由玩法驱动的动画,用一个实时动画系统把角色的一举一动都变得更自然、更有张力。它的灵感来源于 Unreal Engine 的 Animation Blueprint——没错,就是那套在游戏里非常好用的“状态机 + 混合空间 + 蒙太奇轨道”的组合拳。 注意:项目仍在“重开发”阶段!你可以自行编译体验,但会看到缺失的动画、占位内容、以及一些用于调试的可视化元素。把它当作“提前试吃”,别把它当作“稳定发售版”。 这货到底想做什么?(一句话版本) 实时、玩法驱动的动画系统。 给玩家的一举一动加上“懂你的”细节:走、跑、跳、攻击、转身、切换装备……都能按“状态”进行自然过渡。 不只是角色,还包括“方块 / 方块实体”动画(后续计划中)。 一句话:...
2022-03-22
编写一个spring-boot-starter-fastjson
酷烈之祸,多起于玩忽之人;盛满之功,常败于细微之事。——《菜根谭》 这个starter是自己写的,主要就是注入了个FastJsonConfig 写法如下:首先引入gav,完整pom.xml如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566<?xml version="1.0" encoding="UTF-8"?><project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog