登录流程(官方图示):
步骤如下:
(1)调用wx.login()方法获取礼品登录编码,然后将该编码发送给小程序后台服务器
(2)小程序后台服务器,调用登录凭证校验接口(需要传参appid+appsecret+code),即告诉微信 什么人 在 哪个小程序 登陆了(因为刚自己给用户颁布了一个临时登录凭证 你现在哪临时登录凭证来找我要人 我肯定知道是谁)
接口地址为
(3)微信服务器向小程序后台服务器返回session_key和openid
session_key:用于敏感信息的加解密(会话秘钥)
openid:则是用户的(用户唯一标识)
(4)不要将openid和session_key直接从小程序后台返回到小程序中,可以返回一个自定义登录态(比如在redis中存储自定义登录态和openid+sessioId的对应关系)
(5)wx.request()请求时,只要带着key就能从后台redis中查询出相应的value,从而根据value进行解密 或者敏感信息查询等。
注意:
session_key会失效哦,多长时间失效微信不告诉你,可以通过wx.checkSession()方法校验用户当前session_key是否有效。
官方实例如下:
wx.checkSession({
success: function(){
//session_key 未过期,并且在本生命周期一直有效
},
fail: function(){
// session_key 已经失效,需要重新执行登录流程
wx.login() //重新登录
....
}
})