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

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

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

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章