Php Laravel Nexmo无效签名
我有通过Nexmo客户端发送短信通知的方法:Php Laravel Nexmo无效签名,php,laravel,cron,nexmo,Php,Laravel,Cron,Nexmo,我有通过Nexmo客户端发送短信通知的方法: try { $client = new Client(new SignatureSecret($nexmoKey, $signatureSecret, 'md5hash')); $message = $client->message()->send( [ 'to' => $this->userNumber,
try {
$client = new Client(new SignatureSecret($nexmoKey, $signatureSecret, 'md5hash'));
$message = $client->message()->send(
[
'to' => $this->userNumber,
'from' => $from,
'text' => $this->notificationMessage,
'callback' => $webhookReceiveURL,
]
);
$response = $message->getResponseData();
$this->notificationId = $response['messages'][0]['message-id'];
return true;
} catch (\Exception $e) {
$this->exceptions[] = $e->getMessage();
return false;
}
如果我把这段代码放在一个服务类中,其中handle()方法是通过crontab在Laravel的命令中调用的,那么我会得到:Invalid Signature error,但如果我从任何控制器方法调用此方法,则通知会成功发送。有人能解释一下,如果我试图通过crontab发送通知,为什么会出错吗?如果相同的代码在控制器中工作,听起来好像配置设置没有正确地传递到作业中。我会确保
$nexmoKey
和$signatureSecret
在工作中看起来是正确的
另外,我们还通过
nexmo/Laravel
()提供了一个Laravel插件,它通过服务容器和Facade层提供对nexmo对象的访问。这可能有助于减少制作Nexmo对象的样板文件。起初我也有同样的想法,但后来我尝试重复这些想法,结果都是正确的。在那之后,我试图硬编码,但得到了同样的错误。