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



相关推荐
2023-12-23
nacos坏了临时排除掉依赖
冬天动一动,少闹一场病;冬天懒一懒,多喝药一碗。——佚名 可以配置文件配置 123spring: autoconfigure: exclude: org.springframework.cloud.alibaba.nacos.* 也可以手动注解声明 12345678910NacosConfigAutoConfiguration: Nacos配置管理的自动配置。NacosDiscoveryAutoConfiguration: Nacos服务发现的自动配置。NacosServiceAutoConfiguration: Nacos服务相关的自动配置。NacosConfigEndpointAutoConfiguration: Nacos配置端点的自动配置。NacosDiscoveryEndpointAutoConfiguration: Nacos服务发现端点的自动配置。NacosServiceRegistryAutoConfiguration: Nacos服务注册的自动配置。NacosDiscoveryClientConfiguration: Nacos发现客户端的配置。N...
2023-04-09
apache-incubator-streampark源码编译本地运行
吾日三省吾身。——《论语》 1git clone https://github.com/apache/incubator-streampark.git 拉取代码时候如果提示filename-too-long则可以: git拉取代码提示filename too long 然后拉取完成后编译,执行根目录下build.sh 如果执行不了build.sh,则直接使用命令: 1mvn -Pscala-2.12,dist -DskipTests clean package 上面无论是build.sh还是命令执行成功后,都会生成dist目录 我们解压下面的tar.gz到incubator-streampark\streampark-console\streampark-console-service\target 重命名为streampark-console-service-2.1.0 然后配置streampark-console的运行,添加参数 1-Djdk.io.File.enableADS=true -Dapp.home=streampark-console/stream...
2020-07-20
mysql使用ORDER BY和GROUP BY
今天写代码时遇到一个需求是这样的: 取表内最新的一条数据,根据用户名分组 本来以为又是那种需求,然后就开始写sql,写完一运行,报错。。。 然后发现GROUP BY必须放在ORDER BY的前面 但这样又会导致不能取最新的一条数据 于是用了一个“子查询”的办法解决 1234567891011121314<select id="cowBeer" resultType="map" parameterType="map"> SELECT [字段] FROM ( SELECT DISTINCT [字段] FROM [表名] AS msg, [表名] AS user WHERE [条件] ORDER BY [创建时间字段] DESC ) r GROUP BY r.[分组条件] ORDER BY r.[创建时间字段] DESC </select>
2022-08-15
aizuda-limiter
我只担心一件事,我怕我配不上自己所受的苦难。──俄国小说家陀思妥耶夫斯基 有人问我限流怎么做,单独抽出来说一下: 这里使用aizuda-limiter,文档:http://doc.aizuda.com/pages/9xd009/ example仓库:https://gitee.com/aizuda/aizuda-components-examples/blob/master/aizuda-limiter-example 首先引入: 12345<dependency> <groupId>com.aizuda</groupId> <artifactId>aizuda-limiter</artifactId> <version>1.0.0</version></dependency> 然后进行配置限流策略: 12345678910111213141516171819202122package com.aizuda.limiter.example;import com.aizuda...
2021-10-19
lombok建造者模式支持父类
精力充沛的青春,是不怎么容易灭亡的。——卡罗萨 使用@SuperBuilder注解代替原本的@Builder就可以了 如果对建造者模式不太了解的,可以看我以往写的博客: https://VampireAchao.github.io/2020/11/08/%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8F/ 这里做个对比,加之前: 加之后: 可以看到子类开始的建造者模式成功访问到父类属性,不过最终获取到的还是父类 如果想要最终获取到的还是子类,可以在父类也使用@SuperBuilder 不过父类的父类也要有@SuperBuilder
2020-08-05
Collectors.toMap()
把两个表内的数据查出来放进一个List,处理对应关系,以前我们的写法是下面这种,用了一个嵌套循环的形式,判断一下userId是否相等,如果相等,则赋值 12345678910111213141516//查询用户 List<User> userList = userDao.selectUser(); //查询用户信息 List<UserInfo> userInfoList = userInfoDao.selectUserInfo(); //遍历赋值 userList = userList.stream().peek(user -> { //遍历userInfo userInfoList.forEach(userInfo -> { //如果user的id和userInfo相等,就赋值 if (user.getId().equals(userInfo.getUserId())) { ...

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