微信公众号--资源请求

资源请求

基本流程

请求资源指的是业务服务器主动调用微信接口来执行资源请求等业务行为,核心的业务逻辑流程为

 

 

基于核心流程搭建一个比较安全可靠的服务器结构示例如下

 

 

主要有三个部分:负责业务逻辑部分的服务器,负责对接微信API的API-Proxy服务器,以及唯一的AccessToken中控服务器

1)AccessToken中控服务器:

负责: 提供主动刷新和被动刷新机制来刷新accessToken并存储(为了防止并发刷新,注意加并发锁),提供给业务逻辑有效的accessToken。

优点: 避免业务逻辑方并发获取access_token,避免AccessToken互相覆盖,提高业务功能的稳定性。

2)API-Proxy服务器:

负责:专一与微信API对接,不同的服务器可以负责对接不同的业务逻辑,更可进行调用频率、权限限制。

优点:某台API-proxy异常,还有其余服务器支持继续提供服务,提高稳定性,

避免直接暴漏内部接口,有效防止恶意攻击,提高安全性。

     代码示例

已发送群发消息为例,代码示例如下:

<?php

$appid = 'appid';

$appsecret = 'appsecret';

$data = array(

"touser"=>[

"o2Col0jkMDOqHlAjG-6W2Vs6exD8"

],

"msgtype"=>"text",

"text"=>array("content"=> "hello")

);

$result = $this->http_get('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret);

$access_token = $json['access_token'];

$this->http_post('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&access_token='.$access_token,self::json_encode($data));

 

posted @ 2018-03-12 19:21  S&L·chuck  阅读(521)  评论(0编辑  收藏  举报