coien1983 发表于 2015-1-24 11:15:16

CI开发微信平台的TOKEN验证设置

本帖最后由 Closer 于 2015-2-3 14:20 编辑

这几天一直在研究微信公众平台的开发,不过在微信公众平台开发TOKEN验证的时候,卡了一些时候,HEX前辈的帖子里面没有说的十分明白,所以就单独发个帖子说明一下这里的设置。
用的是微信平台提供的验证代码,在controller里面的weixin.php在中的代码如下:
define('TOKEN','你的TOKEN值');
class Weixin extends CI_Controller
{

   public function index()
   {
      $this->valid();
   }

   public function valid()
   {
      $echoStr = $_GET["echostr"];

      //valid signature , option
      if($this->checkSignature()){
         echo $echoStr;
         exit;
      }
   }

   private function checkSignature()
   {
      $signature = $_GET["signature"];
      $timestamp = $_GET["timestamp"];
      $nonce = $_GET["nonce"];

      $token = TOKEN;
      $tmpArr = array($token, $timestamp, $nonce);
      sort($tmpArr);
      $tmpStr = implode( $tmpArr );
      $tmpStr = sha1( $tmpStr );

      if( $tmpStr == $signature ){
         return true;
      }else{
         return false;
      }
   }
}

.htaccess文件设置不变:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|captcha|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1

config文件设置:
$config['base_url'] = 'http://XXXX.duapp.com/';
$config['index_page'] = '';

routes文件设置:
$route['default_controller'] = "weixin";

微信公众平台的验证URL:直接填写http://你的SAE地址或者BAE地址或者阿里云地址/index.php(直接填写入口文件就可以了)

这里需要说明的一点问题是,这个例子只是验证TOKEN值,在完成验证后,大家要把index中的$this->valid();移除,加入自己的逻辑代码!

大致的流程就是这样。

Closer : 顏色過於刺眼,妨礙閱讀,故改之。
 

ftao82 发表于 2015-2-3 14:11:33

签到

yuzhigang5460 发表于 2015-2-3 16:29:16

Hex的这个代码有点落后了,可以使用 https://github.com/dodgepudding/wechat-php-sdk, 这个比较全面,我也封装成了CI类库,如果有需要可以发出来大家看看。

huangzh 发表于 2015-3-24 09:11:51

yuzhigang5460 发表于 2015-2-3 16:29
Hex的这个代码有点落后了,可以使用 https://github.com/dodgepudding/wechat-php-sdk, 这个比较全面,我 ...

表示有需要,希望能发出来学习一下

yuzhigang5460 发表于 2015-3-25 10:04:06

本帖最后由 yuzhigang5460 于 2015-3-25 10:05 编辑

huangzh 发表于 2015-3-24 09:11
表示有需要,希望能发出来学习一下
http://www.ifixedbug.com/posts/codeigniter-weixin-library

彩色奶酪 发表于 2015-3-27 15:59:17

yuzhigang5460 发表于 2015-3-25 10:04
http://www.ifixedbug.com/posts/codeigniter-weixin-library

感谢分享~迟些我也把我封装的发出来{:soso_e128:}

风之易 发表于 2016-1-18 14:51:27

{:1_1:}{:1_1:}{:1_1:}{:1_1:}{:1_1:}{:1_1:}
页: [1]
查看完整版本: CI开发微信平台的TOKEN验证设置