提供微商城·微分销·小程序开店需求
5分钟开通你的微信商城店铺!2018-09-26 作者:秩名
最近遇到这么个坑,偶然请求己方服务器授权登录失败,百度上一堆复制黏贴的文章并不靠谱,最终在微信论坛上看到解决规划。
网上有些是说iv内空格导致解密失败,我出错的情况下并没有出现空格,排除这种情况。
有说是因为请求顺序,但是按照微信官方文档,似乎并不是最新的,至少我授权方式不完全跟文档一样。
我的授权方式
通过添加一个按钮并且设置 open-type="getUserInfo"
在按钮点击事件里,会返回一些授权登录需要用到的字段如:iv、encryptedData、signature、rawData 这个时候再调用 wx.login() 去获取code,整合以上数据向己方服务器发送请求获取用户唯一标识 token。 通过以上的方式是可以成功登录,但是偶然会出现请求己方服务器授权登录失败,再一次就会成功。 原因在于请求顺序,这里的请求顺序是先请求 wx.getUserInfo(按钮) 再请求 wx.login()。有时候获取code后iv已经失效,所以失败。 解决规划:在请求 wx.login() 后,调用一次 wx.getUserInfo(废弃接口) ,更新iv等信息。注意:这里调用的废弃接口只是不再弹出授权请求窗口,但还是能够获取到 iv 等信息,授权接口弹窗已将在点击按钮的时候弹出,并且授权了,所以没毛病。 再总结一下,正确的顺序:wx.getUserInfo(按钮) -> wx.login() -> wx.getUserInfo(废弃接口),整合以上操作获取到的最近数据 code、iv、encryptedData、signature、rawData 传给己方服务器,授权登录成功。
以下贴上我的业务代码
推荐文章
是不是很多微信用户在使用微信小程序时会出现这样的问题,比如,突然中断的情况,其实这就是微信小程序闪退。微信小程...
日前,百度陆续开放了多个智能小程序流量入口,具体包括以下三类: 第一类是中心化入口。 用户除了在“我的“菜单可以...
微信应用的一个很大的优势就在于使用过程中是不需要进行注册和显式登录的,大部分问题基本上可以一键解决。但是在授权...
见到 wx.request 的第一眼,就让我想起了 $.ajax 这东西,使用起来确实有很多不方便,不能忍,幸好小程序是支持ES6语法的,所...
超市收银系统百科 超市收银系统是零售业中用于处理销售交易的关键技术,它不仅提高了结账效率,还增强了顾客的购物体...
酒吧收银系统百科 1. 酒吧收银系统概述 酒吧收银系统是专为酒吧、夜店等娱乐场所设计的一套集成化管理软件,它能够实现...
生鲜超市收银系统十大品牌有哪些呢?下面小编就为大家来讲解一下各收银系统的特...
收银软件是门店运营中非常必备的实用工具之一,收银软件的性能决定着一家门店管理的效率,那么目前收银软件市场来看,...
目前,一套易于使用和适用的收银系统是一个店铺基本的标准,收银系统可以帮助店铺提高商店管理和工作效率,那市面上比...
微信会员管理小程序怎么做 微信会员管理小程序能够帮助企业更好地管理和运营会员,提升用户粘性和忠诚度。以下是创建...