我就想到這個(gè)邏輯:
使用wx.login
拿到code
給后端,后端換openid
,生成我們的session_id
發(fā)給前端并緩存。前端以后的每次網(wǎng)絡(luò)請(qǐng)求都要把我們的session_id
發(fā)回,后端判斷是否合法。不合法就告訴前端,讓它重新登錄。
但是官方的說(shuō)法是推薦通過(guò)wx.checkSession
檢測(cè)用戶登錄態(tài)是否失效,來(lái)決定是否重新走登錄流程。但是又說(shuō)不要用微信的session_id
做session機(jī)制
,要我們自己生成id
來(lái)做機(jī)制,又叫我們自己的id
緩存時(shí)間不要設(shè)久,那問(wèn)題來(lái)了,如果我們的session_id
過(guò)期了,而wx.checkSession
判斷沒(méi)過(guò)期,那該怎么辦呢?重不重新走登錄流程呢?
網(wǎng)友回復(fù):
wx.checkSession 檢測(cè)是 wx.login 返回的那個(gè) session_key 是否失效。
微信的邏輯是客戶端調(diào)用 wx.login,可以得到一些基本信息;如果想要用 open_id、union_id 一類的就要和服務(wù)端交互,這個(gè)步驟可以在 wx.login 之后很久才進(jìn)行,這就涉及到一個(gè) session_key 過(guò)期的問(wèn)題。但實(shí)際開(kāi)發(fā)中往往都是 wx.login 之后立即就跟服務(wù)端交互換取數(shù)據(jù)了,wx.checkSession 并沒(méi)有什么卵用。
感謝1樓,我也是在想 wx.checkSession 有什么用