1. 程式人生 > >微信公眾平臺網頁授權兩次重定向問題

微信公眾平臺網頁授權兩次重定向問題

呼叫微信授權介面,微信伺服器多次請求本地本地伺服器介面,前幾天做公眾號分享功能,然後呼叫授權介面API 時一直都是兩次。 會出現{'errcode':40029,'errmsg':'invalidcode, hints: [ req_id: 0407ns44 ]'}這樣的錯誤。

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

分享的連結在使用者進行點選時,會需要微信的授權驗證,這時就要訪問上面這個介面獲取使用者的openId,但是每次使用者點選分享連結時,我的後天記錄都是請求了兩次授權,說明微信伺服器訪問了本地伺服器兩次,但是微信介面文件中並沒有說明這一點,真是有些坑,最後找到一個方法解決,新增一個引數就OK

connect_redirect=1
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

網上很多說,微信伺服器發起了2次“相同”的請求,第一次請求被其終止掉了。發現只要是302定向到介面的就會發起所謂的兩次“相同”的請求,就會產生“40029”錯誤。302是一種不穩定的跳轉,可能產生網頁劫持,微信應該就是因為這個所以做了兩次請求。

用301永久定向就能解決。