一个公众号对接多个不同系统的方案

方案介绍

话不多说,先上图,有图有真相。
公众号方案

微信公众号官方平台只能接入一个系统,为了接入更多的系统,需要一个中间服务对接微信,然后由中间服务向其它系统提供服务。中间服务只需要三个接口:用户授权(用于获取openid)、AccessToken(用于微信接口)、JSAPI_Ticket(用于微信分享)

中间服务

  • 用户授权(把微信的用户授权openid结果返回第三方系统)
  • AccessToken(按系统标识code进行AccessToken缓存,并返给第三方系统)
  • JSAPI_Ticket(返给第三方系统JSSDK ticket)
  • 在用户关注公众号时调用第三方接口的相应接口,通知第三方系统用户已关注公众号(openid)
  • 在用户取消公众号关注时调用第三方接口的相应接口,通知第三方系统用户已取消公众号关注(openid)

第三方系统

  • 用户授权(带着系统标识code,去中间服务进行用户授权,获取openid)
  • AccessToken(带着系统标识code,去中间服务获取AccessToken)
  • JSAPI_Ticket(带着系统标识code,去中间服务获取SSDK ticket,然后进行JSSDK接口的签名)
  • 关注公众号接口(获取openid,得知哪个用户关注公众号)
  • 取消公众号关注接口(获取openid,得知哪个用户取消公众号关注)