小程序登录机制解惑

小程序官方提供了一份登录流程时序图
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
刚开发使用时有一些困惑,仔细研究分析了一下,思考总结如下:
普通网站会员注册机制为
在这里插入图片描述
用户id由服务提供方生成,用户通过用户名/密码登录,确认身份。
小程序通过微信接口服务登录,主要省却了注册用户身份这一步,其他的还是我们自己的服务来实现。总结起来,小程序中有两个登录态

  1. 用户在业务服务的登录态
  2. 用户调用wx.login获得的用户登录态(我理解为用户在该小程序体系内在微信上登录的状态)
    业务后台通过code2Session获取到openid,即相当于注册时生成的用户useId。openid没有必要也不应该返回给小程序前端页面,与web网站一样,返回一个自己生成的sessionid给小程序前端页面即可。后续用户在业务的登录态是否失效,就靠自己维护(不要受到wx.checkSession迷惑)
    小程序不支持cookie,用storage维护登录态,可以自行考虑是否实现过期机制。storage中存在登录态的情况,可以直接去调用业务服务,不需要调用wx.checkSession判断 ‘用户调用wx.login获得的用户登录态’ 。
    需要判断 ‘用户调用wx.login获得的用户登录态’ 的功能,不完全列举如下
  3. wx.getUserInfo获取用户的敏感信息,获取敏感信息,要求用户此前有调用过 wx.login 且登录态尚未过期;
  4. wx.getWeRunData获取用户过去三十天微信运动步数,需要先调用 wx.login 接口。
    另外,微信内切换登录用户,不用担心新用户用到旧用户的登录态,storage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。
    https://developers.weixin.qq.com/miniprogram/dev/framework/ability/storage.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值