<?php /* * This file is part of the overtrue/wechat. * * (c) overtrue <i@overtrue.me> * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace EasyWeChat\OpenWork\Server; use EasyWeChat\Kernel\Encryptor; use EasyWeChat\Kernel\ServerGuard; /** * Guard. * * @author xiaomin <keacefull@gmail.com> */ class Guard extends ServerGuard { /** * @var bool */ protected $alwaysValidate = true; /** * @return $this */ public function validate() { return $this; } /** * @return bool */ protected function shouldReturnRawResponse(): bool { return !is_null($this->app['request']->get('echostr')); } protected function isSafeMode(): bool { return true; } /** * @param array $message * * @return mixed * * @throws \EasyWeChat\Kernel\Exceptions\RuntimeException */ protected function decryptMessage(array $message) { $encryptor = new Encryptor($message['ToUserName'], $this->app['config']->get('token'), $this->app['config']->get('aes_key')); return $message = $encryptor->decrypt( $message['Encrypt'], $this->app['request']->get('msg_signature'), $this->app['request']->get('nonce'), $this->app['request']->get('timestamp') ); } }