微信中做302跳轉時跳轉不過去的問題

微信中做302跳轉被攔截的原因及解決辦法

先交待一下背景:我們有一個套基於微信的會員系統,有一個商城,商城和會員系統是同一套賬戶體系的,商城利用會員系統的微信登錄功能來實現第三方登錄,所以這裏面有跨域名跳轉(因爲會員系統和商城是單獨部署的)。

今天發現把商城發佈到生產環境後,微信第三方登錄的功能出現一個奇怪的情況:有些安卓手機能正常登錄跳轉,有些則跳轉到了一個空白頁面,經檢查,這個頁面的鏈接是屬於會員系統在微信登錄過程中的一箇中轉鏈接,但參數是很奇怪的(正常情況下這個鏈接會有三個參數,但實際上空白頁面的鏈接上只有一個參數)。

後來經過一系列的調試,發現問題出在會員系統微信授權回來後,往商城跳轉的那個操作上,用的是Header 302的跳轉,有的手機能跳,有的手機則不會執行跳轉(因爲在商城接受跳轉的方法我寫了log,如果有訪問到一定會寫下記錄),後來想了一會,發現會員系統鏈接的協議是https的,而商城的因爲初部署時安全證書還沒配好,所以寫的是http的鏈接,於是把商城的跳轉鏈接也改成https的,然後問題解決了。

所以最終這個問題的原因是有些版本的微信瀏覽器,不允許https的鏈接重定向到http的鏈接去。這個限制如果說是出於安全考慮倒也說得過去,但能不能給個提示呢?

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