3.4登錄狀態(tài)的維持
目前APP大都支持長登錄橱乱,就是用戶登錄一次后辜梳,如果用戶沒有主動注銷泳叠、清除APP緩存數(shù)據(jù)或卸載APP茶宵,就在一段時間內(nèi)或一直保持登錄狀態(tài)。
3.4.1利用Token實(shí)現(xiàn)
APP登錄成功后种蝶,服務(wù)器以某種方式瞒大,如隨機(jī)生成N位的字符串作為Token螃征,同時設(shè)置一個有效期透敌,存儲到服務(wù)器中,并返回Token給APP魄藕。
后續(xù)APP發(fā)送請求時撵术,都要帶上該Token,每次服務(wù)器端收到請求時嫩与,都要驗(yàn)證Token和有效期,Token數(shù)值對且在有效期內(nèi)划滋,服務(wù)器返回所需要的結(jié)果,否則返回錯誤信息翻翩,提示用戶重新登錄。
(這種方式目前使用的最多)
3.4.2利用Cookie實(shí)現(xiàn)
APP登錄成功后嫂冻,服務(wù)器創(chuàng)建一個包含session_id和Expires兩個屬性值的Cookie,存儲在服務(wù)器中睛低,并發(fā)送給APP服傍。
后續(xù)APP發(fā)送請求時钱雷,都要帶上一個包含此session_id的Cookie吹零,每次服務(wù)器端收到請求時,都要驗(yàn)證session_id和有效期套蒂,session_id數(shù)值對且在有效期內(nèi),服務(wù)器返回所需要的結(jié)果操刀,否則返回錯誤信息,提示用戶重新登錄狭瞎。
(這種方式類似瀏覽器的認(rèn)證方式)
3.4.3利用用戶名和密碼實(shí)現(xiàn)
APP登錄成功后欢唾,APP每次發(fā)送請求時警没,都把用戶名和密碼也發(fā)送給服務(wù)器,服務(wù)器每次收到請求都要驗(yàn)證用戶名和密碼亡脸。如果用戶沒有登錄或注銷了,發(fā)送請求時浅碾,就不把用戶名和密碼發(fā)送給服務(wù)器续语。