1.用户访问小程序,点击【登陆】调用wx.login()方法获取临时登陆凭证code,有效期为5分钟
wx.login({
success: function(res) {
if (res.code) {
console.log('获取code成功:', res.code);
// 发送code至服务器
} else {
console.log('授权失败,请重试')
}
}
});
2.服务器端换取用户唯一标识。
发者服务器需将接收到的code与微信服务器交互,通过auth.code2Session
接口换取用户的openid
(用户唯一标识)和session_key
(会话密钥)。
axios.get('https://api.weixin.qq.com/sns/jscode2session', {
params: {
appid: '小程序AppID',
secret: '小程序AppSecret',
js_code: code,
grant_type: 'authorization_code'
}
});
3.生成自定义登录态
服务器根据openid
和session_key
生成自定义登录态(如token),并返回给小程序客户端存储。后续请求通过该登录态验证用户身份
wx.setStorageSync('userToken', res.data.token);