小程序的登录流程:
1.小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。
2. 开发者服务器以code换取 用户唯一标识openid 和 会话密钥session_key。
之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。
所以我们应该怎么做呢?
代码如下:
// app.js
App({
onLaunch: function () {
wx.login({
success: function(res) {
console.log(res.code)
if (res.code) {
wx.request({
url: '服务器处理请求的url',
method: "POST",
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
data: {
code: res.code
},
success: function(res) {
console.log(res)
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
}
})
微信服务器的接口地址:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
说明:
1. 调用接口wx.login() 获取临时登录凭证(code)
2. 判断调用接口是否成功,即是否有code返回。
3. 在接口调用成功的情况下讲code发送到自己的服务器后台进行处理,返回微信服务器返回的openid 和 session_key
注意:
在发送post请求的时候
method: "POST",
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
上述代码在官网中没有明确提到,需要注意!
ps:小编刚学的时候踩到了这个坑,特地提示一下~
网友评论