亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序保持session會話的方法

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

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

第一種:客戶端保存session ID

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

2、后臺通過微信的openID去數(shù)據(jù)庫的微信信息表中查詢該微信號是否與后臺用戶綁定過,如果綁定過,將該用戶信息放入session中,并返回已綁定標記,為綁定過,返回為綁定標記。并且將會話ID返回。

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

4、因為后臺的session都有過期時間,默認是半個小時,所以說為了確保小程序端的session ID不會過期,我們需要在他過期之前刷新sessionID。

我們每過二十分鐘刷新一次,也就是重新請求一次。

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

5、每次請求需要將sessionID放入cookie中,并將它設置頭request header中

第二種:小程序保持唯一標識uuid(如果后臺過濾器需要登陸驗證的話,小程序端的請求接口都需要放行),這個就不貼代碼了,基本和上面邏輯差不多,只不過這次存的是uuid。

1、小程序請求微信,拿到code,請求后臺并傳遞code
2、后臺根據(jù)code請求微信,拿到openID
3、后臺根據(jù)openID去微信信息表查詢該openID是否綁定用戶,綁定了,返回一個唯一表示uuid以及綁定標識,沒有綁定,創(chuàng)建一個uuid以及未綁定標識返回給小程序
4、小程序判斷未綁定,跳轉(zhuǎn)到綁定頁面,根據(jù)輸入信息+uuid返回給后臺綁定用戶,后臺返回是否綁定成功
5、根據(jù)綁定是否成功,小程序操作

小程序只保存uuid(相當于accesstoken),這個uuid是小程序與后臺連接的橋。

注意:這兩種方法都是不安全的,試想一下如果sessionID被劫持到了,并且還處于當前會話中,黑客完全可以通過該session ID惡意獲取后臺數(shù)據(jù)(類似CSRF攻擊)。uuid的話,因為這種請求被后臺過濾器放過,所以完全可以直接請求后臺數(shù)據(jù)了。

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

相關(guān)文章

最新評論