为了账号安全,请及时绑定邮箱和手机立即绑定

微信小程序登录相关总结

小程序登录总结

  1. wx.login 获取 code
  2. wx.getUserInfo 获取 非敏感信息userInfo加密后的敏感信息encryptedData 还有加密向量iv
    • 分开是为了敏感信息不在前端被攻击
    • 尽量不要使用前端操作和存储敏感信息,而是应该借助3rd-session 向后端发请求来操作,否则分开就没意义了
  3. code发给后端
  4. 后端凭借code + appid + appsecret 向微信服务器发请求获得加密密钥session-keyopenid
  5. 此时前端将 加密后的敏感信息encryptedData 给后端,后端可凭借session-keyiv来解密encryptedData获得完整的用户信息userWholeData
    • 这一步可以与3一起发,减少一个http请求
  6. 后端利用hash算法之类的手段,用用户信息或者code、随机时间之类的作为载荷或者材料,生成一个3rd-session,作用实际类似于jwt,里面可以存载荷信息也可以不存,发给前端作为令牌
  7. 后端将key: 3rd-sessionvalue:session-key + openid(也可以直接value: openid)存入数据库表A 可以根据需要将userWholeData连同openid一起存入用户信息表B
  8. 3rd-session用于验证前端登录态,是前后端交流判断用户的唯一凭据,要足够随机、足够长、有失效时间。前端将3rd-session发给后端后,后端根据A来取得用户openid,然后根据需要去查询和修改B
  9. 3rd-session可以放在http请求头部(header)、query或者body
点击查看更多内容
6人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消