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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章