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



相关推荐
2022-05-15
引入一个boot模块坑
“所有你乐于挥霍的时间都不能算作是浪费。”——约翰·列侬 这个坑蛮棘手的 事发场景:main-boot引入common-boot模块,common-boot模块是一个spring-boot模块 关键GAV构成如下: common-boot 12345678910111213141516171819<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.7</version> <relativePath/></parent><groupId>com.ruben</groupId><artifactId>common-boot</artifactId><version>0.0.1-SNAPSHOT</ver...
2022-01-14
druid监控配置
你的道路是什么,老兄?乖孩子的路,疯子的路,五彩的路,浪荡子的路,任何的路。到底在什么地方,给什么人,怎么走呢?——杰克·凯鲁亚克《在路上》 项目地址:https://github.com/alibaba/druid/wiki 这和fastjson一样也是温绍写的 首先引入gav 12345<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid-version}</version></dependency> 我当前引入的版本是1.2.8 在配置文件中开启统计监控和可视化面板 123456789101112131415161718# 应用名称spring.application.name=simple-druid# 应用服务 WEB 访问端口server.port=8787# ...
2023-11-13
webflux中操作符调试
生命不息,奋斗不止。——卡莱尔 分享一个小技巧,在webflux开发中,我们可以在主启动类上加这么一行代码: 1Hooks.onOperatorDebug(); 这行代码的用处是注册一个回调函数,可以打印操作符信息,举个例子: 12345678910111213141516import reactor.core.publisher.Flux;import reactor.core.publisher.Hooks;public class DebugExample { public static void main(String[] args) { Hooks.onOperatorDebug(); // 启用操作符调试 Flux<Integer> flux = Flux.just(1, 2, 3, 4) .map(i -> i / 0); // 这里会触发除以零的异常 flux.subscribe( value -> Syst...
2024-02-25
长安十二时辰与现代时间的互转
不贫便是富,不爱购置便是收入。——西塞罗 [v6] [feature] 添加长安十二时辰与现代时间的互转 · Pull Request !1184 · dromara/hutool - Gitee.com 代码如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899package org.dromara.hutool.core.date.chinese;import org.dromara.hutool.core.date.DateBetween;import java.time.LocalDateTime;import java.time.ZoneId;import java.util.Date;import java.util.HashM...
2021-06-17
字符和Ascii码的互转
对我们帮助最大的,并不是朋友们的实际帮助,而是我们坚信得到他们的帮助的信念。——伊壁鸠鲁 我们可以使用多种方式去获取一个字符的ascii码 1234System.out.println(new Character('A').hashCode());System.out.println(Character.hashCode('A'));System.out.println((int) 'A');System.out.println((int) new Character('A')); 也可以反过来通过ascii码获取对应的字符 1234System.out.println((char) 65);System.out.println(new Character((char) 65));System.out.println((Character) (char) 65);System.out.println((Character) (char) (int) new Integer(65)); 其实...
2021-03-19
sentinel流控降级与熔断
人们因为能忘却,所以自己能渐渐的脱离了受过的苦痛,也因为能忘却,所以照样得再犯前人的错误。——鲁迅 引入依赖 1234567891011<!-- sentinel 降级熔断 --><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><!-- 与sentinel控制台进行通信 --><dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-transport-simple-http</artifactId> <version>1.7.1</version></depen...

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