微信中做302跳转时跳转不过去的问题

本文深入探讨了微信中302跳转被拦截的问题,特别是在跨域跳转场景下,从https到http的重定向在某些微信版本中被阻止,导致用户体验受损。通过调整商城链接为https,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信中做302跳转被拦截的原因及解决办法

先交待一下背景:我们有一个套基于微信的会员系统,有一个商城,商城和会员系统是同一套账户体系的,商城利用会员系统的微信登录功能来实现第三方登录,所以这里面有跨域名跳转(因为会员系统和商城是单独部署的)。

今天发现把商城发布到生产环境后,微信第三方登录的功能出现一个奇怪的情况:有些安卓手机能正常登录跳转,有些则跳转到了一个空白页面,经检查,这个页面的链接是属于会员系统在微信登录过程中的一个中转链接,但参数是很奇怪的(正常情况下这个链接会有三个参数,但实际上空白页面的链接上只有一个参数)。

后来经过一系列的调试,发现问题出在会员系统微信授权回来后,往商城跳转的那个操作上,用的是Header 302的跳转,有的手机能跳,有的手机则不会执行跳转(因为在商城接受跳转的方法我写了log,如果有访问到一定会写下记录),后来想了一会,发现会员系统链接的协议是https的,而商城的因为初部署时安全证书还没配好,所以写的是http的链接,于是把商城的跳转链接也改成https的,然后问题解决了。

所以最终这个问题的原因是有些版本的微信浏览器,不允许https的链接重定向到http的链接去。这个限制如果说是出于安全考虑倒也说得过去,但能不能给个提示呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值