微信小程序的運(yùn)行環(huán)境不是在瀏覽器下運(yùn)行的。所以不能以cookie來維護(hù)登錄態(tài)。下面我就來說說我根據(jù)官方給出的方法來寫出的維護(hù)登錄態(tài)的方法吧。
一、登錄態(tài)維護(hù)
官方的文檔地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject
通過 wx.login() 獲取到用戶登錄態(tài)之后,需要維護(hù)登錄態(tài)。開發(fā)者要注意不應(yīng)該直接把 session_key、openid 等字段作為用戶的標(biāo)識(shí)或者 session 的標(biāo)識(shí),而應(yīng)該自己派發(fā)一個(gè) session 登錄態(tài)(請(qǐng)參考登錄時(shí)序圖)。對(duì)于開發(fā)者自己生成的 session,應(yīng)該保證其安全性且不應(yīng)該設(shè)置較長的過期時(shí)間。session 派發(fā)到小程序客戶端之后,可將其存儲(chǔ)在 storage ,用于后續(xù)通信使用。
登錄時(shí)序圖
從上圖可以看出。當(dāng)我們通過wx.login()獲取code的后,發(fā)送給我們的服務(wù)器,然后去請(qǐng)求微信服務(wù)器換取得到對(duì)應(yīng)的openid與session_key,openid是該用戶在小程序中的唯一標(biāo)識(shí)用于模板通知之類的。session_key就是用來解密用戶的敏感信息。unionid之類的。unionid是微信用戶在所有微信平臺(tái)下的唯一標(biāo)識(shí)。下面我會(huì)講解一下如何得到。
以上就是我的實(shí)現(xiàn)方法。調(diào)用wx.login()得到code后請(qǐng)求服務(wù)器獲取openid與session_key緩存在服務(wù)器當(dāng)中。其中生成一個(gè)隨機(jī)數(shù)為key,value為openid與session_key。然后返回到小程序通過wx.setStorageSync('LoginSessionKey',得到的隨機(jī)數(shù)key)緩存在小程序當(dāng)中。每當(dāng)我們?nèi)フ?qǐng)求服務(wù)器時(shí)帶上LoginSessionKey即可給服務(wù)器讀取從而判斷用戶是否在登錄。是不是很簡單呢?
小程序工具提供多類型商城/門店小程序制作,可視化編輯 1秒生成5步上線。通過拖拽、拼接模塊布局小程序商城頁面,所看即所得,只需要美工就能做出精美商城。
KESION 科汛軟件
KESION 科汛軟件是國內(nèi)領(lǐng)先的在線教育軟件及私域社交電商軟件服務(wù)提供商,長期專注于為企業(yè)提供在線教育軟件及社交電商SaaS平臺(tái)解決方案。
公司核心產(chǎn)品云開店SaaS社交電商服務(wù)平臺(tái)、在線教育SaaS服務(wù)平臺(tái)、教育企業(yè)數(shù)字化SaaS云平臺(tái)、企微營銷助手、私有化獨(dú)立部署品牌網(wǎng)校和在線教育咨詢等。KESION 不斷通過技術(shù)創(chuàng)新,提供產(chǎn)品和服務(wù),助力企業(yè)向數(shù)字化轉(zhuǎn)型,通過科技驅(qū)動(dòng)商業(yè)革新,讓商業(yè)變得更智慧!
在進(jìn)行微信支付開發(fā)之前,深刻理解微信支付的賬號(hào)關(guān)系非常有助于你使用微信以及微信支付的能力。微信支付對(duì)商戶開放的所有面對(duì)用戶使用的api,都是由appid和mch_id成對(duì)使用的。...
三四月招聘旺季,許多小伙伴都會(huì)通過幾個(gè)招聘網(wǎng)站找工作,傳統(tǒng)的模式會(huì)下載幾個(gè)app切換搜索,如今有了招聘求職小程序,通過小程序無需下載就可以實(shí)現(xiàn)在網(wǎng)上投遞簡歷,成功約見...