settermjd/twilio-eventstreams-webhook-validator-slim

用于验证 Twilio Event Streams Webhooks 的 Slim 中间件

0.0.2 2024-09-10 03:47 UTC

This package is auto-updated.

Last update: 2024-09-11 00:32:53 UTC


README

testing workflow

这是一个为 Slim 框架 (v4) 设计的小型中间件,用于验证 Twilio Event Streams Webhook

它是如何工作的?

将中间件添加到应用程序的一个或多个路由后,当路由被分发时,会验证 webhook。如果 webhook 有效的,则调用下一个请求。否则,返回一个 HTTP 400 错误请求,以及一个包含 JSON 或 XML 格式的 问题详情 响应,格式取决于请求的 Accept 标头

为什么使用它?

您可以自己编写功能代码;如果您想了解如何操作,可以查看 Twilio 博客上的 教程。但,这个中间件避免了这种需要。只需初始化并添加到相关路由中,然后就可以专注于应用程序的剩余功能。

先决条件

要使用此中间件,您需要一个 Twilio 账户(免费或付费均可)。如果您是 Twilio 的新用户,可以 创建一个免费账户

⚡️ 快速开始

要在您的 Slim (v4) 应用程序中使用中间件,首先通过运行以下命令将项目添加为依赖项

composer require settermjd/twilio-eventstreams-webhook-validator-slim

然后,在应用程序的适当部分初始化一个新的 EventStreams\EventStreamsWebhookValidatorMiddleware 对象,它需要三个参数

  • 应用程序的公共 URI。在开发过程中,您可以使用 ngrok 将应用程序公开到公共互联网并生成公共 URI。
  • webhook URI 的路径
  • 一个 \Twilio\Security\RequestValidator 对象,初始化为您的 Twilio 认证令牌

注意: EventStreamsWebhookValidatorMiddleware 的前两个参数确保在 webhook 验证过程中使用应用程序的正确公共 URI。

然后,按照 Slim 中间件文档 的说明将中间件添加到相应的路由。下面,您可以找到将其添加为 路由中间件 的示例

<?php

declare(strict_types=1);

require_once('vendor/autoload.php');

use EventStreams\EventStreamsWebhookValidatorMiddleware;
use Twilio\Security\RequestValidator;

$app = new \Slim\App();

$eventStreamsWebhookValidatorMiddleware = new EventStreamsWebhookValidatorMiddleware(
    "<<THE APP'S PUBLIC URL>>",
    "<<THE WEBHOOK PATH>>",
     new RequestValidator("<<YOUR TWILIO AUTH TOKEN>>")
);

$app->get('/', function ($request, $response, $args) {
    $response->getBody()->write(' Hello ');
    return $response;
})->add($eventStreamsWebhookValidatorMiddleware);

$app->run();

然后,将 <<THE APP'S PUBLIC URL>>" 替换为应用程序的公共 URI,将 <<THE WEBHOOK PATH>> 替换为处理 webhook 请求的路由路径,将 <<YOUR TWILIO AUTH TOKEN>> 替换为您的 Twilio 认证令牌。

贡献

如果您想为此项目做出贡献,无论您是否发现了问题还是只想改进它,以下是方法

  • 问题:提出问题并提交您的功能请求、错误报告等
  • 拉取请求:发送您的改进

您觉得这个项目有用吗?

如果您觉得这个项目有用,并且想要表示感谢和/或支持其积极开发,请按照以下方式操作

  • 给这个项目添加一个GitHub Star
  • 在您的博客中写一篇关于这个项目的有趣文章