最近公司需要將兩個部署到不同服務器的項目的微信商戶整合成一個.于是遇到了蛋疼的問題: 一個微信公眾號只支持試著一個OAuth2.0網頁授權回調域
找了很久終于找到了解決辦法:
大神 HADB在 github 上開源了一段中轉代碼,傳送門
使用方法
部署
get-weixin-code.html
至你的微信授權回調域名的目錄下使用方式類似于直接通過微信回調的方式,只是將回調地址改成了
get-weixin-code.html
所在的地址麻削,另外省去了response_type
參數(因為它只能為code)以及#wechat_redirect
(它是固定的)赎瑰,它們會在get-weixin-code.html
里面自己加上get-weixin-code.html
頁面從微信那里拿到code之后會重新跳轉回redirect_uri里面填寫的url沙庐,并且在url后面帶上code和state部署get-weixin-code.html
至你的微信授權回調域名的目錄下
詳細示例
前往微信公眾平臺->接口權限->網頁授權獲取用戶基本信息->修改,填寫授權回調頁面域名豺旬,例如
www.abc.com
在
www.abc.com
域名下部署get-weixin-code.html
怠缸,不一定是根目錄貌亭,例如:http://www.abc.com/xxx/get-weixin-code.html
假設你的
http://www.xyz.com/hello-world.html
這個頁面需要獲取微信授權,那么你應該使用以下地址來獲取授權:http://www.abc.com/xxx/get-weixin-code.html?appid=XXXX&scope=snsapi_base&state=hello-world&redirect_uri=http%3A%2F%2Fwww.xyz.com%2Fhello-world.html
這樣最終就會跳轉到這樣一個地址:
http://www.xyz.com/hello-world.html?code=XXXXXXXXXXXXXXXXX&state=hello-world
靠柑,從而你就拿到了授權code以及自定義的state參數了
希望有麻煩的小伙伴能根據這個快速解決問題