Objetivo: Outros serviços usam o modo pull, realizam comunicação RPC por meio de rpcx e obtêm tokens WeChat relacionados. A conta pública WeChat do usuário é usada por uma plataforma de terceiros para roubar os tokens relacionados da plataforma de conta pública e do aplicativo de conta pública gerenciada. O serviço não pode ser interrompido por mais de 10 minutos (a instância puxa automaticamente o crontab). Escove principalmente o component_access_token e o preauthcode da conta pública de terceiros e o authorizer_access_token e o authorizer_refresh_token da conta pública.
Benefícios: O servidor de retransmissão de plataforma de terceiros de conta pública WeChat é usado para atualizar o token da própria plataforma de conta pública e o token de conta pública hospedado, permitindo que os desenvolvedores se concentrem apenas na lógica de negócios da plataforma de terceiros de conta pública WeChat, enquanto o a instância de negócios pode ser reiniciada repetidamente. Isso não terá nenhum impacto nas contas oficiais hospedadas.
Método de armazenamento: o etcd armazena o endereço do serviço rpc, a plataforma da conta oficial do WeChat e o token da conta oficial, usa o recurso ttl do etcd e observa e atualiza
1. 服务启动后,立即读取etcd中的所有微信公众平台和公众号数据,加载到内存中。 并监听所有token
Padrão 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]