專案多,微信授權回撥地址來回變怎麼辦?

丶Pz發表於2017-09-19

前言

  由於公司專案用到微信授權,但是專案很多,對應的公眾號也不一樣。而且暫時使用的是公眾號進行配置回撥域名來做使用者授權。但是,有時候一個公眾號可能對應多個回撥域名,所以為了讓回撥域名統一話,增加中轉站點來支援多域名回撥。

流程解讀

  

授權流程

  1. 假如現在有四個站點都需要使用同一個公眾號進行微信授權。回撥域名分別是:domain1/callback,domain2/callback,domain3/callback,domain4/callback。現在我們發起授權請求到中轉站
  2. 中轉站接收到授權請求之後,根據不同的站點來源標識請求(3)API,獲取授權跳轉地址,跳轉到微信授權服務(4)。並且將站點來源標識儲存到cookie中。
  3. 由於微信公眾號配置的回撥域名為中轉站的域名(例如:auth.center/callback)。那麼當使用者授權成功之後,先回撥到中轉站,auth.center/callback?code=123456789
  4. 中轉站拿到code之後。讀取cookie值,然後在將code回傳給站點回撥。 domain1/callback?code=123456789
  5. 站點拿到code之後進行微信使用者獲取操作即可。此時整個授權流程結束。

總結

  一個公眾號不能配置多個回撥域名的時候,採用中轉站進行回撥操作。此時公眾號只需要配置一個回撥域名,即中轉站回撥地址。中轉站所要做的工作就是根據不同的請求來源,跳回不同的站點回撥地址。已達到單個公眾號授權多域名的操作。

  缺點:需要多跳轉一步。

  優點:授權地址集中處理,業務可以自己掌握。

 

相關文章