token 的設(shè)計方案,這個厲害!
作者:做個前端 鏈接:https://www.jianshu.com/p/e07f51c5c8bd
網(wǎng)上關(guān)于移動客戶端與服務(wù)器數(shù)據(jù)傳輸之間的 token 的細節(jié)使用好像都沒有詳細的說明,基本都是一筆帶過。對于簡簡單單的加入一個固定的參數(shù) token,其實是很容易被抓包的。
介紹
下面說一下我自己的方案:
啟動頁判斷本地是否存在 token
為啥在啟動頁更新 token 呢?是因為啟動頁在第一個頁面,一般都會有幾秒的等待時間,是不做網(wǎng)絡(luò)請求操作的,而且頁面使用率高。這樣隨機更新可以說安全性高。
a)本地存在 token
1)客戶端使用舊 token 請求更新 token
2)服務(wù)器判斷 redis 是否存在 token
3)存在則生成新的token 存儲在 redis 中,刪除舊的 token
4)不存在則判斷該用戶是否存在另一個與之不相等的 token
5)存在與之不相等的 token則說明該用戶賬號在其他設(shè)備登錄
6)不存在~則說明過期被刪除或者在其他設(shè)備登錄之后退出登錄被刪除(設(shè)置token過期時間為30天)b)本地不存在 token
1)有三種情況,一種重來沒登錄過,一種是在新設(shè)備登錄,一種是登錄后退出用戶
退出用戶
網(wǎng)絡(luò)請求刪除 redis 中的token,并刪除本地的 token
評論
圖片
表情

