用wx.login獲取登入憑證code
}
這個玩家很懶,什麼也沒留下
小程式端 wx.login 獲取code 並 wx.request 提交 code 給己方伺服器
小程式端 wx.setstorage 儲存 3rd_session 在後續使用者操作需要憑證時 附帶該引數
小程式端 wx.getuserinfo 獲取使用者資訊 + wx.getstorage 獲取 3rd_session 資料後,一併 wx.request 提交給己方伺服器
伺服器 sql 使用者資料資訊更新
//使用者登陸
function userlogin() ,
fail: function ()
})}
function onlogin() ,
success: function (res) )
getuserinfo()
}else
},fail: function (res) })}
},fail: function (res)
}) }
function getuserinfo() ,
fail: function ()
})}
function userinfosetinsql(userinfo) ,
success: function (res)
else }})
}})}
生成3rd_session
用於第三方伺服器和小程式之間做登入態校驗.為了保證安全性,3rd_session應該長度夠長,一定有效時間, session_key + openid, key, 為 value, 寫入到session儲存.
3rd_session寫入storage:
後續使用者進入小程式,先從storage讀取3rd_session
根據請求,在session儲存中查詢合法的session_key和openid
onlaunch: function() else
}});
}})唯一標識(openid)和會話金鑰(session_key)
檢測當前使用者登入態是否有效
wx.checksession(,
fail: function()
})
wx.checksession(,
fail:(res=>
wepy.request().then(res=>
wepy.request().then((res)=>)
//儲存使用者資訊[userinfo]
wx.setstorage()})}
})}});})
})
onshow());
}else
} //我們假設這個頁面需要獲取使用者的資訊,首先給乙個button[open-type設定為getuserinfo],使用這個拿到使用者的資訊,
getuserinfo(e))
//這裡做這樣的處理,是因為需求需要點選購物車按鈕跳轉訂單待支付頁,在沒有獲取到使用者資訊之前,跳轉購物車的按鈕隱藏,獲取使用者資訊按鈕顯示,反之則返
this.button = 'none'; //獲取使用者資訊button
this.mymenu = 'block'; //跳轉待支付訂單頁
//更新快取中的使用者資訊
對稱解密的目標密文為 base64_decode(encrypteddata)。
對稱解密演算法初始向量 為base64_decode(iv),其中iv由資料介面返回。
signature = sha1( rawdata + session_key )
//最終供外面呼叫的方法
function login()})}
});}function thirdlogin(code,encrypteddata,iv),
onsuccess:function (data),
onerror : function(msgcanshow,code,hiddenmsg)
}).send();
}
微信小程式授權登入
在這裡插入描述 前端部分 編寫自己的介面login.wxml login.js 獲取應用例項 page 生命週期函式 監聽頁面載入 onload function options 登入 dologin function e 後端部分 後端運用的是springboot框架 專案結構 官方教程 官方流程...
微信小程式授權登入
首先這個流程是怎麼樣的呢?他這個流程圖還是很ok的 code換取openid res getcurl url return json array code 0 msg 獲取成功!data json decode res 然後前段就可以獲取到代表使用者的openid和sessionkey了,然後就是我...
uni app微信小程式登入授權
首先是需要用到乙個授權按鈕來觸發獲取使用者資訊授權 關鍵在於 open type 為 getuserinfo 然後有個 getuserinfo的事件,把獲取授權介面寫到該事件裡面去 方法如下 ifdef mp weixin uni.getprovider fail fail else endif 在...