长短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天

猜你喜欢

转载自blog.csdn.net/qq_22570497/article/details/78782290
今日推荐