token 的設(shè)計方案

網(wǎng)上關(guān)于移動客戶端與服務(wù)器數(shù)據(jù)傳輸之間的 token 的細節(jié)使用好像都沒有詳細的說明,基本都是一筆帶過。對于簡簡單單的加入一個固定的參數(shù) token,其實是很容易被抓包的。

介紹

token 是登錄之后服務(wù)器返回的一段加密字符串(加密算法自己與后臺商量如何加解密),存儲到本地。在客戶端請求服務(wù)端數(shù)據(jù)的時候可以帶上(放在請求頭headers,參數(shù)都行),更新 token 的方法自己與后臺商量,以下只是思路。

下面說一下我自己的方案:

token.png

啟動頁判斷本地是否存在 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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評論 19 139
  • 前端開發(fā)者丨h(huán)ttp請求 https:www.rokub.com 前言見解有限, 如有描述不當(dāng)之處, 請幫忙指出,...
    麋鹿_720a閱讀 11,315評論 11 31
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,240評論 3 119
  • 春后清明泛楊絮, 清風(fēng)調(diào)皮并無意, 封門關(guān)窗沉思緒, 盼天公, 饋贈一場及時雨, 驕陽白絮沉于地。 定時早起 不如...
    sunshine0414閱讀 226評論 0 1
  • 汨羅忠魂又端陽, 龍舟競賽劃木漿。 眾志成城斗志揚, 碧波滾滾映畫廊。 百舸爭流鑼鼓響, 萬眾矚目人緊張。 屈原可...
    高原_4697閱讀 328評論 2 9

友情鏈接更多精彩內(nèi)容