在今年4月开始小程序启用getUserProfile接口,获取用户信息以及手机号必须用户触发点击2次,现又一个验证signature的问题,
场景:
A页面点击去登录,授权getUserProfile获取用户信息、rawData、signature、iv、encryptedData等,使用setStorageSync存储在本地存储中
跳转到B页面(登录页),点击微信授权登录按钮获取手机号,获取encryptedData、iv等
将code、手机号的encryptedData、iv,用户信息的rawData、signature、iv、encryptedData一起提交到服务端接口进行注册或登录
此时会偶发一个问题,A获取签名时,一直停留在B页面不去请求,提交到服务端时,服务端的SESSION_KEY已经改变,导致验签失败,请问这个问题应该如何解决?或者在流程上是否有处理错误的地方?
分步保存;
wx.login---获取session_key;
1、获取手机号码,如果注册了就LOAD用户信息,如果用户信息为空就进入step2获取用户信息;
2、获取用户信息;
找产品经理优化业务逻辑,获取用户信息和手机号分开获取。
用户基本信息可以作为基础信息,可以根据业务获取。而手机号是一些必要业务才需要获取,比如充值、消费等。
而且也没必要一起发给后台同时解密啊,这样如果我先授权了基本信息,然后没有授权手机号,下次我登陆的时候,还是需要我授权基本信息,体验也不好。