一、引言
登錄的網絡請求方式一般是http請求(http請求是短連接)——只要登錄成功之后,服務器就會和 app 斷開連接.但是呢,我們在切換app或返回頁面,但是用戶在沒有注銷的情況下,再次進入app,不需要再次登錄就會直接進入.
1.1 如何判斷登錄狀態
問題: 服務器如何知道當前 app 的是在登錄狀態的呢?
答案:通過登錄令牌: token值! 服務器通過 token 值判斷當前用戶的登錄狀態!
解釋:
當用戶第一次登錄成功之后,會在服務器生成一個token 值.
- 會將這個 token 值返回給 客戶端
- 并且在數據庫會存一份 token 值.
以后,如果用戶發送網絡請求的時候, - 需要將 token 值作為參數發送給服務器,
- 服務器拿到用戶發送的 token 值和在數據庫中存儲的 token 值做比較.以此來判斷用戶的登錄狀態!
1.2 token的特點以及應用
token 值的特點: 登錄令牌 ,失效時間.
- 一般如果涉及到** 錢/私密數據/實時性比較強的操作 **的交易 -- token 值失效時間比較短: 15分鐘左右.例子: 銀聯在線 /支付寶 /各大銀行的手機 app
- 如果是一些***不涉及到數據安全的 app **比如: 游戲/新聞/聊天... app token值失效時間一般都是1年以上
二、token的高級用法
2.1 token值失效
token值失效! ---- 數據同步有關!
- 密碼可以隨時修改! ----- 當修改了密碼之后,原來的 token 值就會失效, 服務器會返回一個新的 token.
- 數據同步 : pc 端/網頁瀏覽 --- 和 app 端可以同時登陸!
例子:實現我們在手機和筆記本上同時QQ在線,但是我們在手機上修改了QQ的密碼。那么筆記本會是什么樣子的呢?
1、筆記本還是在登陸狀態,但是在我們退出后再次登錄時無法實現自動登錄>>我們在自動登錄時判斷登錄狀態,同時判斷token只是否改變。
2、在我們進行網絡請求時,就出現問題提示我們密碼已修改——這說明我們的網絡請求使用到token值。
- 判斷用戶的登錄狀態: 不僅判斷是否登錄成功, 還要判斷密碼(token值)是否改變,是否需要用戶再次登錄,是否需要重置密碼!
token 值是服務器生成的, 類似于 MD5 加密之后的字符串!
\
三、token的使用趨勢
趨勢: 所有的網絡接口都會要求帶 token 值這個參數.但是呢,這個參數對于有些接口來說不是必要的參數.
根據用戶愛好,做大數據分析,推薦用戶喜歡的信息.