現象
做好了微信公眾號掃描登錄后,很穩定的運行,后來增加了微信開放平台,結果偶爾就出現了這個redirect_uri錯誤。然后重啟服務器后,又正常。
探查
網上的說法都是網頁授權配置的問題,檢查微信公眾號后台的配置,一起正常。
復制oauth跳轉的url,放到微信開發者工具里,結果提示公眾號沒有綁定開發者,log里也變紅了有錯誤,仔細檢查輸出的網址,好像沒什么問題,發現有appid這個變量。
於是懷疑appid,檢查了一下這個appid,果然不對。
解決
復查代碼,原來是微信開放平台和微信公眾號的代碼都操作了同一個對象,結果當使用微信開放平台登錄后,原來微信公眾號的對象就不是初始化的那個對象了。
吐槽
吐槽一下,微信的報錯,根本不是uri不對,其實仔細想想,微信應該是通過appid找uri,所以才這么報錯,但是可以做的更好一點,如果提示“appid和redirect_uri不一致”,那就更好了。