微信小程序> 小程序的登陆流程个人详解

小程序的登陆流程个人详解

浏览量:763 时间: 来源:何其涛

小程序的登陆流程个人分析

最近开发了小程序,小程序感觉有很多坑,比方说授权方式从主动推送现在改为了必须主动点击,还有类似于无法进行双向绑定,还有表单校验的问题,这里先写一下我认为比较关键的小程序的   登陆流程

下面这张图是小程序官方文档登陆流程图

小程序

光看这张图理解起来其实是有点难以理解的

这里我先分析一下我在做小程序的时候登陆的流程

登陆流程

​首先我们手动触发wx.login()这个内置方法获取code,这个code相当于一个临时的验证码,发送给后端,后端再通过微信的开放接口将这个code+appid+appsecret发送给微信后台(appid和appsecret是再微信的小程序平台配置好的,后端以及存好这两个码),到这步为止后端还不知道到底这个用户的openId(微信用户的专属id)是多少。

​微信后台收到以后会触发小程序提醒,告诉用户这个小程序想要获取你的信息你是否同意,授权之后微信会给我们的后端返回openId和session_key(用于解密用户的隐私信息),这时候后端才得到了用户的专属openId并存起来,将这个用户当作后台的一个真正用户,并返回一个后台的token,用于小程序的接口请求

wx.login({        success: res = {          // 发送 res.code 到后台换取 openId, sessionKey, unionId          app.globalData.post({            url: app.globalData.api.LOGIN,            data: {              code: res.code            }          }).then(r = {            if (r.data.phoneNumber && r.data.phoneNumber != '') { //用于判断是否数据库中已存用户的手机号,如果没有需要用户手动授权获取              that.setData({ hasPhone: true })            }else {              that.setData({ hasPhone: false })            }            wx.setStorageSync('token', r.data.weixinUserToken) //将token存储在本地,当token没有失效时,后台可以直接登陆不需要再向微信后台求证            app.globalData.header.wxToken = r.data.weixinUserToken //将token放入小程序的请求头重            resolve(r.data.weixinUserToken)          }).catch(e = {            wx.showToast({              icon: 'cancel',              title: '验签失败'            })            reject(e)          })        }      })    })  },

这时候小程序获取了后台的token相当于已经在后台登陆了,小程序端可以直接向后台请求接口了

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎