博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信开放平台 获取 component_verify_ticket
阅读量:7294 次
发布时间:2019-06-30

本文共 2454 字,大约阅读时间需要 8 分钟。

*
AppId
*
1413192605
*
component_verify_ticket
*
内容
* * * Class WechatAction * @package common\components */class WechatAction extends Action{ public $openWechat; /** * @return string|void */ public function run() { $this->openWechat = Yii::$app->openWechat; $param = $this->getParam(); $encryptMsg = file_get_contents('php://input');$result = $this->getVerify_Ticket($param['timestamp'],$param['nonce'],$param['msg_signature'],$encryptMsg); if($result){ return "success"; } } /** * 获取参数 * @return array|mixed */ public function getParam() { $param = Yii::$app->request->get(); $param['timestamp'] = empty($param['timestamp']) ? "" : trim($param['timestamp']); $param['nonce'] = empty($param['nonce']) ? "" : trim($param['nonce']); $param['msg_signature'] = empty($param['msg_signature']) ? "" : trim($param['msg_signature']); $param['signature'] = empty($param['signature']) ? "" : trim($param['signature']); return $param; } /** * 获取 component_verify_ticket * @param $timeStamp * @param $nonce * @param $msg_sign * @param $encryptMsg * @return bool */ public function getVerify_Ticket($timeStamp, $nonce, $msg_sign, $encryptMsg) { @include_once (dirname(__DIR__).'/messageCrypt/wxBizMsgCrypt.php'); $pc = new WXBizMsgCrypt($this->openWechat->token, $this->openWechat->encodingAesKey, $this->openWechat->appId); $xml_tree = new DOMDocument(); $xml_tree->loadXML($encryptMsg); $array_e = $xml_tree->getElementsByTagName('Encrypt'); $encrypt = $array_e->item(0)->nodeValue; $format = "
"; $from_xml = sprintf($format, $encrypt); $msg = ''; $errCode = $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $from_xml, $msg); if ($errCode == 0) { $xml = new DOMDocument(); $xml->loadXML($msg); $array_e = $xml->getElementsByTagName('ComponentVerifyTicket'); $component_verify_ticket = $array_e->item(0)->nodeValue; //=======这里把 component_verify_ticket 保存到数据库========// return true; }else{ //=======这里记录错误码========// return false; } }}

 

转载于:https://www.cnblogs.com/boystar/p/5595420.html

你可能感兴趣的文章
MongoDB进阶
查看>>
python3csv与xlsx文件操作模块(csv、xlsxwriter)
查看>>
开启线程方式
查看>>
xdebug
查看>>
Css之 间距初始化
查看>>
lsnrctl启动报错,Linux Error: 29: Illegal seek
查看>>
IDEA github
查看>>
linux 驱动学习笔记05--文件系统与设备文件系统
查看>>
unresolved external symbol __forceAtlDllManifest错误的解决
查看>>
Linux的.run文件简单制作
查看>>
ubuntu解压命令(转)
查看>>
C#获取获取北京时间多种方法
查看>>
动态语言的灵活性是把双刃剑 -- 以 Python 语言为例
查看>>
1. 字节序的转换
查看>>
ubuntu14.04LTS下ECLIPSE+JAVA搭建
查看>>
学习RxJS: 导入
查看>>
PowerDesigner大小写转换
查看>>
纯 CSS 利用 label + input 实现选项卡
查看>>
Ubuntu 上安装R
查看>>
How .Net code can call unmanaged code?
查看>>