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-12-17
Thymeleaf Error resolving template [favicon.ico]
每一个看似简单的社会现象其实都只露出了冰山一角。——林达 遇到这个报错,方案1: 在页面上添加: 1<link rel="icon" href="/static/favicon.ico"> 前提是你有icon并且放到了static下面 方案2: 写个过滤器,给它过滤掉 12345678910111213141516171819202122232425262728293031323334353637package com.ruben.simplescaffold.filter;import cn.hutool.core.lang.Opt;import cn.hutool.core.text.CharSequenceUtil;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import...
2024-09-05
高效压缩库:Snappy Java
我来到这个世界,为了看看太阳和蓝色的地平线。——《城门开》 项目介绍 Snappy Java 是一个用于压缩和解压缩数据的高效Java库,它基于谷歌的 Snappy 压缩算法。Snappy 算法的设计目标是提供非常快速的压缩和解压缩操作,同时牺牲一定的压缩率以换取速度。在很多应用场景下,速度优先于压缩率,因此 Snappy 被广泛应用于数据处理、大数据分析和日志系统等场景。 Snappy Java 是 Snappy 算法的 Java 实现,它能够无缝集成到 Java 项目中,为开发者提供快速的压缩和解压缩操作,同时保留了跨平台的兼容性和高效的性能。 Snappy 的主要特点: 高压缩速度:相比于其他压缩算法,Snappy 的压缩速度非常快,适用于低延迟的应用。 适度压缩率:虽然压缩率不如一些其他压缩算法,但在大多数场景下,Snappy 的压缩率足以应对需求。 轻量级:Snappy 算法设计简洁,适合嵌入到各种应用中,尤其适合大规模的数据处理场景。 官方文档、GitHub地址 官方网站:Snappy Java Documentation GitHub仓库:xeri...
2023-03-09
JOOL
感官并不欺骗人,欺骗人的是判断力——歌德 分享一个框架JOOL https://github.com/jOOQ/jOOL 其封装了更好用的lambda 例如: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119// (1, 2, 3, 4, 5, 6)Seq.of(1, 2, 3).concat(Seq.of(4, 5, 6));// trueSeq.of(1, 2, 3, 4).contains(2);// trueSeq.of(1, 2, 3, 4).containsAll(2, 3);// trueSeq.of(1, 2, 3,...
2024-01-07
参数化单元测试
屋小巧安置,田少勤耕耘,妻贱合夫心,此乃真富裕。——富兰克林 今天进行streampark参数化单元测试,用来测试多个数据库下的兼容情况 12345678910111213141516171819202122232425262728package org.apache.streampark;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import org.apache.streampark.console.core.entity.Application;import org.apache.streampark.console.core.mapper.ApplicationMapper;import org.junit.jupiter.api.Assertions;import org.junit.jupiter.params.ParameterizedTest;import org.junit.jupiter.params.provider.ValueSource;import org.s...
2023-03-12
新版jdk的peek坑
旅游是获得愉悦感和浪漫性的最好媒介——麦金托什 代码如下: 12345678910import java.util.Arrays;import java.util.List;class Scratch { public static void main(String[] args) { List<Integer> list = Arrays.asList(1, 2, 3, 4); long count = list.stream().peek(System.out::println).count(); System.out.println(count); }} 这段代码在java8中则会如下输出 但在java11的时候却只会输出最终的一次count,这说明count并不会导致peek执行 javadoc也写了 所以升级jdk版本的话需要注意这一点
2024-04-25
apache-streampark发版验证
一个人的行走范围,就是他的世界。——《青灯》 安装svn 1brew install svn 然后验证: https://streampark.apache.org/zh-CN/community/release/how_to_verify_release/ 大概全程如下: mkdir streampark - 创建一个名为”streampark”的新文件夹。 cd streampark/ - 进入这个新创建的”streampark”文件夹。 svn co https://dist.apache.org/repos/dist/dev/incubator/streampark/2.1.4-RC1/ - 通过Subversion(svn)从Apache的服务器上检出(下载)版本为”2.1.4-RC1”的streampark项目文件。 curl https://downloads.apache.org/incubator/streampark/KEYS > KEYS - 使用curl命令下载streampark项目的密钥文件,并将其保存为本地文件”KEYS”。 gpg -...

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