欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序保持session會(huì)話的方法

 更新時(shí)間:2020年03月20日 11:24:28   作者:程序員阿坤  
這篇文章主要介紹了微信小程序保持session會(huì)話的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

        一般我們web網(wǎng)站都會(huì)有cookie來(lái)保存session ID,將用戶和服務(wù)器保持在一次會(huì)話中,但是很遺憾,微信小程序不支持cookie,他的每一次請(qǐng)求就是一次會(huì)話,這樣就會(huì)產(chǎn)生一個(gè)問(wèn)題,每次請(qǐng)求都需要確定當(dāng)前的用戶是誰(shuí),但是我們又不能在每次請(qǐng)求的數(shù)據(jù)中攜帶用戶的信息,這樣是不安全的。今天就介紹兩種方式來(lái)實(shí)現(xiàn)保持會(huì)話。

第一種:客戶端保存session ID

        1、通過(guò)wx.login接口獲取 code,將code傳遞到后臺(tái)(一般后臺(tái)都有shiro或者Spring security這種過(guò)濾器,該方法作為第一個(gè)啟動(dòng)方法需要后臺(tái)放過(guò)),后臺(tái)通過(guò)code訪問(wèn)微信接口,返回當(dāng)前登陸的微信信息。

2、后臺(tái)通過(guò)微信的openID去數(shù)據(jù)庫(kù)的微信信息表中查詢?cè)撐⑿盘?hào)是否與后臺(tái)用戶綁定過(guò),如果綁定過(guò),將該用戶信息放入session中,并返回已綁定標(biāo)記,為綁定過(guò),返回為綁定標(biāo)記。并且將會(huì)話ID返回。

3、小程序拿到sessionID和是否綁定標(biāo)記,將session ID存入緩存中或者在app.js中定一個(gè)全局變量用來(lái)存儲(chǔ)。如果未綁定,跳轉(zhuǎn)到綁定頁(yè)面,如果綁定,去往首頁(yè)。

4、因?yàn)楹笈_(tái)的session都有過(guò)期時(shí)間,默認(rèn)是半個(gè)小時(shí),所以說(shuō)為了確保小程序端的session ID不會(huì)過(guò)期,我們需要在他過(guò)期之前刷新sessionID。

我們每過(guò)二十分鐘刷新一次,也就是重新請(qǐng)求一次。

將該函數(shù)放到app.js的生命周期函數(shù)中,這樣一旦打開(kāi)小程序就會(huì)執(zhí)行

5、每次請(qǐng)求需要將sessionID放入cookie中,并將它設(shè)置頭request header中

第二種:小程序保持唯一標(biāo)識(shí)uuid(如果后臺(tái)過(guò)濾器需要登陸驗(yàn)證的話,小程序端的請(qǐng)求接口都需要放行),這個(gè)就不貼代碼了,基本和上面邏輯差不多,只不過(guò)這次存的是uuid。

1、小程序請(qǐng)求微信,拿到code,請(qǐng)求后臺(tái)并傳遞code
2、后臺(tái)根據(jù)code請(qǐng)求微信,拿到openID
3、后臺(tái)根據(jù)openID去微信信息表查詢?cè)搊penID是否綁定用戶,綁定了,返回一個(gè)唯一表示uuid以及綁定標(biāo)識(shí),沒(méi)有綁定,創(chuàng)建一個(gè)uuid以及未綁定標(biāo)識(shí)返回給小程序
4、小程序判斷未綁定,跳轉(zhuǎn)到綁定頁(yè)面,根據(jù)輸入信息+uuid返回給后臺(tái)綁定用戶,后臺(tái)返回是否綁定成功
5、根據(jù)綁定是否成功,小程序操作

小程序只保存uuid(相當(dāng)于accesstoken),這個(gè)uuid是小程序與后臺(tái)連接的橋。

注意:這兩種方法都是不安全的,試想一下如果sessionID被劫持到了,并且還處于當(dāng)前會(huì)話中,黑客完全可以通過(guò)該session ID惡意獲取后臺(tái)數(shù)據(jù)(類(lèi)似CSRF攻擊)。uuid的話,因?yàn)檫@種請(qǐng)求被后臺(tái)過(guò)濾器放過(guò),所以完全可以直接請(qǐng)求后臺(tái)數(shù)據(jù)了。

到此這篇關(guān)于微信小程序保持session會(huì)話的方法的文章就介紹到這了,更多相關(guān)小程序保持session會(huì)話內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論