长短token生成方式及作用

2023-11-23 17:30

本文主要是介绍长短token生成方式及作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

长短token解决方案

1:解释长短token

    Token的返回:

    用户登陆后,后台会返回给用户两个token,1是长token,2是短token

    有效期:

长token有效期为一个月,短token有效期为1小时

访问与再次获取:

APP每次访问数据携带这短token,如果后台中存在短token则证明短token有效可以进行数据访问。

如果没有查到该短token,则APP使用长token去请求短token,如果长token存在,则请求成功后得到的新短token用于数据访问。

如果长token不存在,则用户需要重新登录获取长短token。

 

 

后台设计:

用户登录->验证数据库,如果登陆成功则返回给APP一个长token,一个短token

    我们在生成长短token的时候将在redis数据库中新增两条记录:

    1:key短token,value随机字符串,有效期1小时

    2:key是长token,value是短token,有效期30天

    环境模拟:

    Redis1:(LT:ELEPH)

    Redis2:(ST:LT)

    如果Redis1超过1小时,短token失效则Redis1消失

    这时我们再去查询Redis2,拿着ST看看能不能取到值,如果能取到值则再生成一个Redis1,之后将ST的Value重置成新生成的短Token,之后Redis2的生存时间不改变

    如果Reids2也失效的话,拿着ST就取不到数据,这时就应该重新登录,重新获取长短token

 

  短token生成:

    Key是短token本体,可以为UUID。。

    Value就是一个固定值吧。Base64 (Base64(FamilyId))

UUID:Eleph 时效性1小时

长token生成:

    Key是长token本体,用Base64 (Base64((FamilyId+时间)))

    Value是短token的UUID 时效性30天

这篇关于长短token生成方式及作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/419582

相关文章

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

Java数组初始化的五种方式

《Java数组初始化的五种方式》数组是Java中最基础且常用的数据结构之一,其初始化方式多样且各具特点,本文详细讲解Java数组初始化的五种方式,分析其适用场景、优劣势对比及注意事项,帮助避免常见陷阱... 目录1. 静态初始化:简洁但固定代码示例核心特点适用场景注意事项2. 动态初始化:灵活但需手动管理代

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、