鍍金池/ 問答/PHP/ app如何保持一次登陸后持續(xù)保持session狀態(tài)

app如何保持一次登陸后持續(xù)保持session狀態(tài)

app 登陸一次后 以后打開app不用登陸就能操作接口 session狀態(tài)一直保持

我想象的是這樣實(shí)現(xiàn),不知道對(duì)不對(duì) 影響大不大,第一次登陸成功后返回token給客戶端,客戶端存放到Local Storage中,等下次打開app時(shí),在app啟動(dòng)圖靜默訪問驗(yàn)證token的接口,如果token驗(yàn)證成功,就解析token里面的user_id重新保持至session。

但是這樣的話安全方面,有沒有什么影響呢。

回答
編輯回答
礙你眼

1.對(duì)token的進(jìn)行設(shè)置,比如md5+加鹽,然后可以弄時(shí)間戳做隨機(jī)性,并保存到一定時(shí)間到session,但一般來說要高安全性的,每次請(qǐng)求都是唯一的token隨機(jī)性傳給客戶端,這樣就增高安全性;
2.可以進(jìn)行sign簽名。

2017年9月13日 20:12
編輯回答
忘了我

jwt.io 了解下,每次對(duì)token處理就可以了

2017年11月28日 20:49
編輯回答
巴扎嘿

基本合理,一點(diǎn)小修正,最好讓服務(wù)器端驗(yàn)證token,客戶端不要做任何驗(yàn)證和解析動(dòng)作,如果需要用戶信息,都從服務(wù)器端返回就好,客戶端僅把token當(dāng)作無意義亂碼保存比較好,這樣安全一些。

2018年7月25日 11:37
編輯回答
怪痞

首先需要明確的一點(diǎn)是,你不需要去關(guān)心 session

可能你以前做的都是 web 方面的開發(fā),對(duì)于 web 我們記錄登錄憑證一般都是采用 session
所以當(dāng)你做接口開發(fā)時(shí),第一時(shí)間想到的也是 session

在 App 中,所有請(qǐng)求都是無狀態(tài)的,所以大家一般會(huì)采用 token 的方式來校驗(yàn)登錄

在客戶端請(qǐng)求登錄接口時(shí),返回一個(gè)生成好的 token

在請(qǐng)求需要登錄接口的時(shí)候,客戶端直接把這個(gè) token 傳給后端

后端主要干的兩件事情

  1. 校驗(yàn) token 是否正確 (也就是你的解出 user_id )
  2. 校驗(yàn) token 是否過期

如果上面校驗(yàn)正確,就認(rèn)為用戶已經(jīng)登錄成功~

對(duì)于這方面的介紹,你可以簡(jiǎn)單了解一下 jwt

2017年10月20日 20:36