小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我的登录流程是
onload的时候先login一次拿到code存下来
用户getPhoneNumber的时候checkSession
如果成功 直接用存下来的code去后端换取解密的手机号
如果失败 说明sessionKey过期 重新wx.login 拿新的code去后端换取解密的手机号
经测试 发起两次登录,两次的code一样 说明checkSession成功了 但是后端报code失效
在部分用户上稳定复现 其余用户正常
怎么都想不通T_T
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
在wx.login后拿到code发给后端,不存本地(有效期不固定),后端拿到该用户的session_key。
授权手机号的时候。checksession是否失效。没失效使用iv和encryptedData就可以解密了,如果失效,重新login一次。再使用iv和encryptedData解密
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
其实也可以通过后端来判断是否过期,他们拿不到session_key的时候返回给我们就可以了~我们是这样处理的
code重复消费,有啥想不通的。code作为缓存的key,第二次进来,如果code一样,去取缓存别消费code就行了。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
在wx.login后拿到code发给后端,不存本地(有效期不固定),后端拿到该用户的session_key。
授权手机号的时候。checksession是否失效。没失效使用iv和encryptedData就可以解密了,如果失效,重新login一次。再使用iv和encryptedData解密
此时获取的加密信息是与上次session_key对应的,因此还是会解密失败,除非用户再点一次按钮
其实也可以通过后端来判断是否过期,他们拿不到session_key的时候返回给我们就可以了~我们是这样处理的
code重复消费,有啥想不通的。code作为缓存的key,第二次进来,如果code一样,去取缓存别消费code就行了。