Objectif : d'autres services utilisent le mode pull, effectuent une communication RPC via rpcx et obtiennent les jetons WeChat associés. Le compte public WeChat de l'utilisateur est utilisé par une plate-forme tierce pour glisser les jetons associés de la plate-forme de compte public et de l'application de compte public géré. Le service ne peut pas être arrêté pendant plus de 10 minutes (l'instance extrait automatiquement la crontab). Brossez principalement le composant_access_token et le preauthcode du compte public tiers, ainsi que l'authorizer_access_token et l'authorizer_refresh_token du compte public.
Avantages : Le serveur de relais de la plate-forme tierce de compte public WeChat est utilisé pour actualiser le propre jeton de la plate-forme de compte public et le jeton de compte public hébergé, permettant aux développeurs de se concentrer uniquement sur la logique métier de la plate-forme tierce de compte public WeChat, tandis que L'instance métier peut être redémarrée à plusieurs reprises. Cela n'aura aucun impact sur les comptes officiels hébergés.
Méthode de stockage : etcd stocke l'adresse du service rpc, la plate-forme de compte officiel WeChat et le jeton de compte officiel, utilise la fonctionnalité ttl d'etcd, et surveille et actualise
1. 服务启动后,立即读取etcd中的所有微信公众平台和公众号数据,加载到内存中。 并监听所有token
Standard, go get
:
$ go get - v - u github . com / 1046102779 / wx_relay_server
type WxRelayServer struct {}
// 获取公众号平台基本信息,包括appid,token等信息
func ( t * WxRelayServer ) GetOfficialAccountPlatformInfo ( in * pb. OfficialAccountPlatform , out * pb. OfficialAccountPlatform ) error
// 存储托管公众号的token相关信息
func ( t * WxRelayServer ) StoreOfficialAccountInfo ( in * pb. OfficialAccount , out * pb. OfficialAccount ) error
// 获取公众号token信息, 用于公众号第三方平台发起公众号的托管业务
func ( t * WxRelayServer ) GetOfficialAccountInfo ( in * pb. OfficialAccount , out * pb. OfficialAccount ) error
// 刷新component_verify_ticket, 并同时中继服务器刷公众号第三方平台的其他token
func ( t * WxRelayServer ) RefreshComponentVerifyTicket ( in * pb. ComponentVerifyTicket , out * pb. ComponentVerifyTicket ) error
希望与大家一起成长,有任何该服务运行或者代码问题,可以及时找我沟通,喜欢开源,热爱开源, 欢迎多交流
联系方式:[email protected]