以前也寫過微信小程序登陸的相關文章:html
也能夠經過官方的這張時序圖瞭解小程序的登陸流程: 小程序
從流程圖上能夠看出微信小程序登陸須要先調用
wx.login()
獲取 臨時登陸憑證code
,並回傳到開發者服務器。而後在服務器端調用 auth.code2Session 接口,換取 用戶惟一標識openid
和 會話密鑰session_key
等信息。以後開發者服務器能夠根據用戶標識來生成自定義登陸態,用於後續業務邏輯中先後端交互時識別用戶身份。後端
wx.login()
是在微信小程序端登陸的時候調用,而常見的登陸方式有如下幾種:微信小程序
我這裏的實現是經過 點擊登陸按鈕 實現登陸。在《小書架》項目中有兩處能夠進行登陸。api
wx.login({ success: function(loginRes) { if (loginRes.code) { let userStorageInfo = wx.getStorageSync('userInfo'); // 請求服務端的登陸接口 wx.request({ url: api.loginUrl, method: 'POST', data: { account: loginRes.code, // 臨時登陸憑證 type: 100, // 100 表示小程序用戶 userInfo: JSON.stringify(userStorageInfo) }, success: function(res) { console.log(res); if (res.statusCode == 200) { console.log('-----獲得 Token---------'); wx.setStorageSync('loginToken', res.data.token); } else { console.log("Error:" + res.errmsg); } }, fail: function(error) { // 調用服務端登陸接口失敗 } }); } else { // 獲取 code 失敗 } }, fail: function(error) { // 調用 wx.login 接口失敗 } });
當微信小程序端發送code
登陸憑證給服務端以後,服務端調用微信提供 的接口,獲取openid
等數據。服務器
在服務器開發中有些接口API
是須要登陸後才能使用,好比:收藏、評論等。而如何判斷用戶是否登陸,在移動端常見的手段是經過 token
來驗證登陸的時效性。也就是在用戶登陸以後,生成一個具備有效期的token
,返回給客戶端使用,token
超過了有效期就說明用戶的登陸狀態失效了,須要從新登陸。微信
ps: token
的介紹能夠查看我以前的相關文章。網絡
諮詢請加微信:輕撩便可。 session
原文出處:https://www.cnblogs.com/gdragon/p/11946441.html函數