一饲宛、引言
登錄的網(wǎng)絡(luò)請(qǐng)求方式一般是http請(qǐng)求(http請(qǐng)求是短連接)——只要登錄成功之后,服務(wù)器就會(huì)和 app 斷開(kāi)連接.但是呢璧针,我們?cè)谇袚Qapp或返回頁(yè)面虽画,但是用戶(hù)在沒(méi)有注銷(xiāo)的情況下,再次進(jìn)入app婚肆,不需要再次登錄就會(huì)直接進(jìn)入.
1.1 如何判斷登錄狀態(tài)
問(wèn)題: 服務(wù)器如何知道當(dāng)前 app 的是在登錄狀態(tài)的呢?
答案:通過(guò)登錄令牌: token值! 服務(wù)器通過(guò) token 值判斷當(dāng)前用戶(hù)的登錄狀態(tài)!
解釋:
當(dāng)用戶(hù)第一次登錄成功之后,會(huì)在服務(wù)器生成一個(gè)token 值.
- 會(huì)將這個(gè) token 值返回給 客戶(hù)端
- 并且在數(shù)據(jù)庫(kù)會(huì)存一份 token 值.
以后,如果用戶(hù)發(fā)送網(wǎng)絡(luò)請(qǐng)求的時(shí)候, - 需要將 token 值作為參數(shù)發(fā)送給服務(wù)器,
- 服務(wù)器拿到用戶(hù)發(fā)送的 token 值和在數(shù)據(jù)庫(kù)中存儲(chǔ)的 token 值做比較.以此來(lái)判斷用戶(hù)的登錄狀態(tài)!
1.2 token的特點(diǎn)以及應(yīng)用
token 值的特點(diǎn): 登錄令牌 ,失效時(shí)間.
- 一般如果涉及到** 錢(qián)/私密數(shù)據(jù)/實(shí)時(shí)性比較強(qiáng)的操作 **的交易 -- token 值失效時(shí)間比較短: 15分鐘左右.例子: 銀聯(lián)在線(xiàn) /支付寶 /各大銀行的手機(jī) app
- 如果是一些***不涉及到數(shù)據(jù)安全的 app **比如: 游戲/新聞/聊天... app token值失效時(shí)間一般都是1年以上
二驳阎、token的高級(jí)用法
2.1 token值失效
token值失效! ---- 數(shù)據(jù)同步有關(guān)!
- 密碼可以隨時(shí)修改! ----- 當(dāng)修改了密碼之后,原來(lái)的 token 值就會(huì)失效, 服務(wù)器會(huì)返回一個(gè)新的 token.
- 數(shù)據(jù)同步 : pc 端/網(wǎng)頁(yè)瀏覽 --- 和 app 端可以同時(shí)登陸!
例子:實(shí)現(xiàn)我們?cè)谑謾C(jī)和筆記本上同時(shí)QQ在線(xiàn)脑豹,但是我們?cè)谑謾C(jī)上修改了QQ的密碼郑藏。那么筆記本會(huì)是什么樣子的呢?
1瘩欺、筆記本還是在登陸狀態(tài)译秦,但是在我們退出后再次登錄時(shí)無(wú)法實(shí)現(xiàn)自動(dòng)登錄>>我們?cè)谧詣?dòng)登錄時(shí)判斷登錄狀態(tài),同時(shí)判斷token只是否改變击碗。
2筑悴、在我們進(jìn)行網(wǎng)絡(luò)請(qǐng)求時(shí),就出現(xiàn)問(wèn)題提示我們密碼已修改——這說(shuō)明我們的網(wǎng)絡(luò)請(qǐng)求使用到token值稍途。
- 判斷用戶(hù)的登錄狀態(tài): 不僅判斷是否登錄成功, 還要判斷密碼(token值)是否改變,是否需要用戶(hù)再次登錄,是否需要重置密碼!
token 值是服務(wù)器生成的, 類(lèi)似于 MD5 加密之后的字符串!
\
三阁吝、token的使用趨勢(shì)
趨勢(shì): 所有的網(wǎng)絡(luò)接口都會(huì)要求帶 token 值這個(gè)參數(shù).但是呢,這個(gè)參數(shù)對(duì)于有些接口來(lái)說(shuō)不是必要的參數(shù).
根據(jù)用戶(hù)愛(ài)好,做大數(shù)據(jù)分析,推薦用戶(hù)喜歡的信息.