我用的环境
PHP 版本:7.0.12
overtrue/wechat 版本:4.0.36
是否使用了框架?框架名称:thinkphp5.0.20
问题及现象
模块: 企业微信第三方服务商
创建本地应用时需填入"数据回调URL"和"指令回调URL",并通过通过检验
如果按文档配置好后, 回调验证无法通过.
按文档配置, 使用开发者工具进行调试, 能正确返回明文.
当suite_id的值改为corp_id的值,则检验通过.
因为回调URL的验证是GET请求, 业务处理都是POST请求.
我现在的解决方案是判断请求类型, 特殊处理验证请求.
$config = [
'corp_id' => '服务商的corpid',
'secret' => '服务商的secret,在服务商管理后台可见',
'suite_id' => '以ww或wx开头应用id',
'suite_secret' => '应用secret',
'token' => '应用的Token',
'aes_key' => '应用的EncodingAESKey',
'reg_template_id' => '注册定制化模板ID',
'redirect_uri_install' => '安装应用的回调url(可选)',
'redirect_uri_single' => '单点登录回调url (可选)',
'redirect_uri_oauth' => '网页授权第三方回调url (可选)',
];
$app = Factory::openWork($config);
$server = $app->server;
$server->push(function ($message) {
switch ($message['InfoType']) {
//do somethings
}
});
$response = $server->serve();
$response->send();