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



相关推荐
2021-06-22
随机端口
学习的敌人是自己的满足,要认真学习一点东西,必须从不自满开始。对自己,“学而不厌”,对人家,“诲人不倦”,我们应取这种态度。——毛泽东 我们可以在application.properties中进行配置 12# 应用服务 WEB 访问端口server.port=${random.int[1024,25535]} 这样我们启动后端口将在1024到25535之间随机
2020-12-04
解决lambda中必须为final的方式
一个真正而且热切地工作的人总是有希望的——只有怠惰才是永恒的绝望。——卡莱尔 在开发中使用lambda经常出现一个问题 编译提示我们lambda中使用的变量必须为final或者effectively final 1234567891011int i = 2;BigDecimal j = BigDecimal.ZERO;j = BigDecimal.TEN;List<String> stringList = mpUserMapper.selectList(Wrappers.lambdaQuery()).stream().map(UserDataObject::getUsername).collect(Collectors.toList());stringList = stringList.stream().distinct().collect(Collectors.toList());List<String> strings = new ArrayList<>(10);strings.stream().peek(s -> {...
2023-06-20
写一个基于lambda的copyProperties(二)
谨慎比大胆要有力量的多。——雨果 书接上文写一个基于lambda的copyProperties 今天继续整一个支持其他类型的 123456789101112131415161718@Datapublic static class User { private String name;}@Datapublic static class Person { private String name;}@Testvoid testCopyProperties() { User source = new User() {{ setName("test"); }}; Person target = BeanHelper.copyProperties(source, Person.class); Assertions.assertEquals(source.getName(), target.getName());} 源码如下: 123456789101...
2021-10-09
Sa-Token中SerializationException
有两件事我最憎恶:没有信仰的博才多学和充满信仰的愚昧无知。——爱默生 今天把Sa-Token中的用户状态进行持久层扩展 使用了jdk默认序列化方式后报错,清除缓存后又换成了jackson序列化方式 结果还是报错SerializationException,提示我LocalDateTime没有默认构造器 既然我项目中mvc使用的fastJson配置过LocalDateTime的转换,那我就继续用fastJson进行拓展吧: 首先是配置FastJson 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657package com.ruben.xchat.config;import com.alibaba.fastjson.parser.ParserConfig;import com.alibaba.fastjson.serializer.SerializeConfig;import com.alibaba.fastjson.s...
2020-07-14
Gitlab的安装
Gitlab安装1.安装相关依赖 1yum -y install policycoreutils openssh-server openssh-clients postfix 2.启动ssh服务&设置为开机启动 1systemctl enable sshd && sudo systemctl start sshd 3.设置postfix开机自启,并启动,postfix支持gitlab发信功能 1systemctl enable postfix && sudo systemctl start postfix 如果报这个错 1Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details. 可以采取以下解决方案 1234#修改 /etc/postfix/m...
2021-03-12
gateway简单配置
生命不等于是呼吸,生命是活动。——卢梭 GAV 123456<!-- gateway 网关 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>2.2.0.RELEASE</version></dependency> 记得要注释掉我们之前引入的web 1234<!-- <dependency>--><!-- <groupId>org.springframework.boot</groupId>--><!-- <artifactId>spring-boot-starter-web</artifactId>...

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