App保持登錄狀態(tài)的常用方法

??我們?cè)谑褂肁pp時(shí)异旧,一次登錄后App如果不主動(dòng)退出登錄或者清除數(shù)據(jù)弱贼,App會(huì)在很長(zhǎng)一段時(shí)間內(nèi)保持登錄狀態(tài)宣吱,或者讓用戶感覺到登錄一次就不用每次都輸入用戶密碼才能進(jìn)行登錄蓉冈。
??銀行长豁、金融涉及到支付類的App一般不支持這種長(zhǎng)時(shí)間的登錄狀態(tài)保持钧唐。對(duì)于保持長(zhǎng)期登錄的技術(shù)實(shí)現(xiàn)方式,除了和前端技術(shù)有關(guān)匠襟,還涉及到前后臺(tái)的通訊連接方式钝侠、后臺(tái)提供的服務(wù)方式等有關(guān)。比如前端App是前端技術(shù)是原生加H5實(shí)現(xiàn)的酸舍,那選擇的技術(shù)可能和純?cè)牟灰粯铀汀_€有如果后端使用了sso(單點(diǎn)登錄方式)技術(shù)那就和后端使用了webservice、Socket的方式不一樣啃勉,具體實(shí)現(xiàn)上有時(shí)候需要綜合考慮忽舟。總結(jié)出來一般的登錄保持功能有如下的實(shí)現(xiàn)方式:

一淮阐、利用Cookie機(jī)制實(shí)現(xiàn)
??我們知道cookie是為了解決http無狀態(tài)的一種技術(shù)叮阅,被電商、oa等web應(yīng)用廣泛使用泣特。如果我們的App和后端通訊采用的http通訊方式帘饶,可以利用cookie技術(shù)進(jìn)行登錄狀態(tài)保持。比如我們可以把sessionID和有效期保存在cookie中群扶,發(fā)給前端App及刻,前端App收到后保存在本地镀裤。當(dāng)訪問后端服務(wù)把sessionID和有效期作為參數(shù)傳給后臺(tái)進(jìn)行認(rèn)證。直到sessionID失效缴饭,用戶都不需要重新登錄暑劝。

二、用戶名和密碼
??如果App和后端通信不是通過http協(xié)議進(jìn)行的颗搂,那cookie機(jī)制可能就不太適合担猛。利用用戶名和密碼保持登錄是指用戶在第一次登錄成功時(shí),把用戶名和密碼保存的本地丢氢,下次用戶打開App時(shí)登錄利用保存的用戶名和密碼在后臺(tái)自動(dòng)完成傅联。這種方式需要考慮用戶名和密碼的安全問題,防止信息被破解疚察。

三蒸走、token方式
??token方式在app認(rèn)證上用的比較普遍,App初始登錄時(shí)貌嫡,提交賬號(hào)和密碼數(shù)據(jù)給服務(wù)端比驻,服務(wù)端根據(jù)定義的的策略生成一個(gè)token字符串,token字符串中可以包含用戶信息岛抄、設(shè)備ID等信息以保證用戶的唯一性别惦。服務(wù)端并對(duì)token設(shè)置一定的期限。服務(wù)端把生成的token字符串傳給客戶端夫椭,客戶端保存token字符串,并在接下來的請(qǐng)求中帶上這個(gè)字符串蹭秋。相對(duì)于在App本地token的安全性更高了。
App登錄狀態(tài)保持除了實(shí)現(xiàn)路徑外還需要考慮服務(wù)端數(shù)據(jù)持久化問題感凤、客戶端防拷貝問題、攔截破解問題等陪竿,在使用中需要綜合考慮禽翼。

四、密鑰方式
??以上三種方法族跛,要么不能持久保存狀態(tài)闰挡,要么不安全礁哄,要么每次請(qǐng)求都需要讀取數(shù)據(jù)庫驗(yàn)證,有沒有一種方法桐绒,能解決以上的缺陷呢夺脾,于是之拨,就有了這個(gè)方法,流程如下:
1:客戶端輸入用戶名和密碼咧叭,提交到服務(wù)端驗(yàn)證
2:服務(wù)端驗(yàn)證成功后蚀乔,給客戶端返回以下值:
uid : 用戶的唯一標(biāo)示
time : 當(dāng)前unix時(shí)間戳
key : MD5(uid+time+"一個(gè)只有你自己知道的字符串密鑰")
3:客戶端保存以上3個(gè)值在本地菲茬,每次HTTP請(qǐng)求時(shí),將以上3個(gè)值發(fā)送到服務(wù)端
4:服務(wù)端驗(yàn)證key婉弹,判斷如果與客戶端發(fā)送的key一致,則說明用戶身份無誤
5:服務(wù)端每次收到請(qǐng)求時(shí)镀赌,通過當(dāng)前時(shí)間-客戶端time字段得到的差值,可以控制這個(gè)key的有效期

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市垫卤,隨后出現(xiàn)的幾起案子威彰,更是在濱河造成了極大的恐慌穴肘,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件豹缀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡邢笙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門氮惯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來想暗,“玉大人,你說我怎么就攤上這事说莫。” “怎么了储狭?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵捣郊,是天一觀的道長(zhǎng)擒悬。 經(jīng)常有香客問我模她,道長(zhǎng)懂牧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任畜侦,我火速辦了婚禮,結(jié)果婚禮上旋膳,老公的妹妹穿的比我還像新娘。我一直安慰自己验懊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布尸变。 她就那樣靜靜地躺著义图,像睡著了一般。 火紅的嫁衣襯著肌膚如雪召烂。 梳的紋絲不亂的頭發(fā)上碱工,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天奏夫,我揣著相機(jī)與錄音,去河邊找鬼廊谓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹂析,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播电抚,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼竖共,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了公给?” 一聲冷哼從身側(cè)響起蜘渣,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤肺然,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后际起,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡校翔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年灾前,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哎甲。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖炭玫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情础嫡,我是刑警寧澤酝惧,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站巫财,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏平项。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一闽瓢、第九天 我趴在偏房一處隱蔽的房頂上張望心赶。 院中可真熱鬧,春花似錦缨叫、人聲如沸荔燎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒸健。三九已至,卻和暖如春纵装,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背橡娄。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滤祖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓匠童,卻偏偏與公主長(zhǎng)得像塑顺,于是被迫代替她去往敵國(guó)和親汤求。 傳聞我的和親對(duì)象是個(gè)殘疾皇子严拒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容