小程序授权登录
一、用户打开小程序判断是否授权
二、是否是新用户
三、本地是否有token
登录
一、调用wx.login()
小程序端通过调用wx.login()API,调用成功的话会在成功的回调里获取一个有时效的登录凭证code。
然后调用自家的服务器接口,把获取到的code传递给服务端。
wx.login({
success (res) {
if (res.code) {
//发起网络请求
wx.request({
url: 'https://test.com/onLogin',
data: {
code: res.code
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
二、从微信端获取用户信息
服务端在拿到code之后,会调用微信端的接口,这时需要把code、appid、secret、grant_type传递给微信端,换取用户的信息。
调用成功的话,微信端会返回openid、session_key等信息,如果满足unionid条件也会同时返回。
至此,登录过程完成。
三、检测登录状态
因为wx.login接口具有时效性,实际项目中我们肯定不需要每次都直接调用登录接口,而是先检测之前的登录状态是否过期,如果没有过期则无需再次登录
wx.checkSession({
success () {
//session_key 未过期,并且在本生命周期一直有效
},
fail () {
/