【问题标题】:Unable to verify signature from Sendgrid event webhook无法验证来自 Sendgrid 事件 webhook 的签名
【发布时间】:2021-09-09 11:28:06
【问题描述】:

我正在努力让已签名的事件 webhook 正常工作:

https://docs.sendgrid.com/for-developers/tracking-events/getting-started-event-webhook-security-features

我已启用它们并且可以看到标头,但 verifySignature() 总是返回 false。

这就是我所拥有的:


$eventWebhook = new EventWebhook();
$ecPublicKey = $eventWebhook->convertPublicKeyToECDSA($publicKey));
$payload = json_encode( $request->all()[0] ) . "\r\n";

$valid = $eventWebhook->verifySignature(
            $ecPublicKey,
            $payload,
            $request->header('X-Twilio-Email-Event-Webhook-Signature'),
            $request->header('X-Twilio-Email-Event-Webhook-Timestamp')
        );


我收到多个事件,所以添加了 [0]

【问题讨论】:

    标签: php laravel sendgrid


    【解决方案1】:

    让它像这样工作:

    $eventWebhook = new EventWebhook();
    $ecPublicKey = $eventWebhook->convertPublicKeyToECDSA(Cache::get('sendgrid-key'));
    $payload =  $request->getContent();
    return $eventWebhook->verifySignature(
                $ecPublicKey,
                $payload,
                $request->header('X-Twilio-Email-Event-Webhook-Signature'),
                $request->header('X-Twilio-Email-Event-Webhook-Timestamp')
            );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      • 2021-05-07
      • 2020-07-17
      • 2021-12-25
      • 2016-06-16
      相关资源
      最近更新 更多