授权登录流程
问题一:加密信息有误,无法换取token
- 当前 Bug 的表现
以下附图为fundebug检测到的请求报错信息,在用户点击授权按钮后,通过login+getUserInfo获得必要信息,向后端换取身份识别token(请见上方流程图),此报错为后端返回,原因为加密信息有误,加密信息为getUserInfo获得的,求官方告知加密信息有误要怎么处理?
- 预期表现
正常换取token
- 复现路径
无。问题存在,但复现条件难创建
- 提供一个最简复现 Demo
涉及授权的问题不知怎么提供
- 出现过该问题的机型: OPPO R9,vivo Xplay5A,iPhone 6 (偶尔),有时候通过删除小程序再进入、或删除微信重装可解决,也有解决过该问题的机型,后续再次出现此问题
问题二:用户已授权用户信息,但通过getSetting获得的scope.userInfo却为false
见上方流程图,用户连续几天未访问小程序,再登录小程序时,token会过期,此时需要重新获取token, 此处根据官方文档推荐,通过getSetting来判断用户是否已授权,若已授权则无需再次进入授权页面;
测试发现,一段时间不使用小程序后再次访问,进入了授权页面;通过“右上角-关于-右上角-设置”查看授权情况,发现授权是开着的,这意味着getSetting返回的结果却是false... 于是,后续变成了用户点击授权按钮无授权弹框出现
----------------------------
我能提供的详尽情况就这些了,求官方协助处理,我这边可以提供公司的小程序APPID
求回复,求重视!!!
同样遇到这个问题。。。目前出现的手机有华为P30,小米8和iPhone6
一样的坑,反复的踩,补充机型:iPhone7、OPPO R9s、努比亚、华为(不知道具体机型)……
iPhone7 应该不会的,可能你遇到的问题原因跟我这边的不一样
修改了授权流程为如上所示;
用户点击授权按钮无反应的问题是否仍存在,有待后续观察
补充:伪代码版流程图
更新:前端优化了授权流程如上,后端增加了错误收集,再加上fundebug的错误监控,目前已定位到问题原因:
vivo, oppo的个别机型(已知有vivo Xplay5A, vivo X7, oppo A59s, oppo R9),微信昵称中的特殊字符解析失败,导致用户认证失败;
补充:特殊字符具体为emoji表情,但并非不支持emoji,而是部分机型输入法中的emoji,在认证解析的过程中会失败
我都不用小程序的授权,
和公众号关联取unionId,还得花300块钱认证开放平台
微信授权,建议web-wiew里通过H5授权,授权完成后,再将 uid 或者user_token,传回小程序
这样省300块,用户仅关联一套 openId,还避小程序坑。。