微信公众平台网页登录授权多次重定向跳转,导致code使用多次问题

简介: 微信公众平台网页登录授权多次重定向跳转,导致code使用多次问题

背景:微信网站开发

  昨天我负责的一个项目忽然出现了一个十分诡异的bug,进行微信授权登录的时候请求code的时候安卓手机会多次重定向调转我的接口接收code的接口(redirect_uri 微信请求调转接收code的的接口,加了Url.encode(),也就是我这边默认请求了多次这个接口,然而苹果手机没有问题,于是我写了日志看了下没错,有时候会请求两次或者更多次这个重定向的接口地址,所以导致了与用户登录进去以后,报  {“errcode”:40163,"errmsg":"code been used"} 这里提示已经非常的明白,code已经被使用过了,为何这个项目上线后了三四个月了,才会出现这个问题,然后我其他的项目也是使用同样的微信授权登录的写法都完全没毛病。

  结合这个问题我到网上查找了一些解决方案,有人说使用缓冲把第一次获取的code存入缓冲,然后再请请求的时候判断是否存在这个值,这种方法虽然听起来挺合理的,但是完全不符合开发原谅,并且没有从更本上找到问题。

  还有一种方式就是在请求链接中加上一个参数:connect_redirect=1( 微信请求code的接口:https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect,很多人的多次请求都加上这个参数解决了,而我发现我的并不是这个问题,不过假如你们遇到了这个问题可以试一试也许有用。

  最后我发现无论我怎么改动我的代码,微信还是默认会返回多个同样的code给我,最后我在我的服务器采取网络抓吧,结果终于让我找到了bug的源头,原来是360安全卫士搞得鬼,每次会员请求一次让后360也会模拟一次请求,导致了有时候多吃请求,把360一关闭就好了,真的是太坑了,熬夜整整搞了一天,这个锅终于不用我背了,网站又可以正常运行了。

 

总结:

  通过这次我知道了,其实有的时候我们在找bug的时候不仅仅只去找程序的代码是否有问题,还应该从服务器,网络环境等多个方面去寻找,不能在一棵树上吊死!!

相关文章
|
3月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
984 12
|
6月前
|
小程序 前端开发 算法
|
9月前
|
小程序
微信小程序多种跳转页面方式
微信小程序多种跳转页面方式
|
7月前
|
移动开发 前端开发 Android开发
开发指南059-App实现微信扫描登录
App是用uniapp开发的,打包为apk,上传到安卓平板中使用
|
7月前
微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
【10月更文挑战第11天】微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
3677 1
|
8月前
|
小程序 开发工具
app跳转微信小程序,使用明文scheme拉起
app跳转微信小程序,使用明文scheme拉起
1662 4
|
7月前
|
小程序 算法 前端开发
微信小程序---授权登录
微信小程序---授权登录
196 0
|
9月前
|
存储 小程序 JavaScript
|
9月前
|
前端开发
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
|
3月前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。

热门文章

最新文章