解決微信OAuth2.0網頁授權回調域名只能設置一個的問題


https://github.com/HADB/GetWeixinCode

 

GetWeixinCode

解決微信OAuth2.0網頁授權回調域名只能設置一個的問題

使用方法

  1. 部署get-weixin-code.html至你的微信授權回調域名的目錄下,例如http://wx.abc.com/get-weixin-code.html
  2. 在其他頁面的使用方式如下,類似於直接通過微信回調的方式,只是將回調地址改成了get-weixin-code.html的地址,另外省 去了response_type參數(因為它只能為code)以及#wechat_redirect的hash,它們會在get-weixin- code.html里面去加上

    location.href = 'http://wx.abc.com/get-weixin-code.html?appid=XXX&scope=XXX&state=XXX&redirect_uri=' + encodeURIComponent(location.href); 
  3. get-weixin-code.html頁面從微信那里拿到code之后會重新跳轉回調用的頁面,並且在url后面帶上code

其他說明

  • 通過多一次的跳轉,解決了微信限制回調域名只能設置一個的問題
  • 犧牲了一點用戶體驗,換來了項目部署的美感,不需要將各種項目都部署到一個域名下
  • 如果你有這樣的需求,可以使用本項目
  • 歡迎提交pull request
  • 很多朋友問我怎么支持第三方微信平台,這個需要對不同的第三方平台的授權方式有所了解,熟悉他們的授權方式,請求參數等。如果他 們是通過在網站入口處的URL上進行授權的,那么可以使用本項目,將入口的URL改成上述的方式,如果他們是在流程中的某些頁面去獲取授權,那么是沒法改 變他們的獲取地址的,所以本項目就不適用了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM