swop / github-webhook-stackphp
Stack中间件,用于验证传入的GitHub webhook请求是否被正确签名。
v1.1
2016-11-10 23:35 UTC
Requires
- php: >=5.3.3
- stack/builder: ^1.0
- symfony/http-foundation: ^2.1|^3.0
- symfony/http-kernel: ^2.1|^3.0
Requires (Dev)
- phpunit/phpunit: ^4.5.0
This package is not auto-updated.
Last update: 2024-09-23 15:18:46 UTC
README
Stack中间件,用于限制应用程序对GitHub事件机器人的访问,并要求签名有效。
每个传入请求都会检查其X-Hub-Signature
头部,以验证请求最初是由GitHub执行的。任何没有正确签名的请求都将导致返回401 Unauthorized
JSON响应。
安装
建议通过Composer安装此库。
composer require "swop/github-webhook-stackphp"
使用
Silex示例
require __DIR__ . '/../vendor/autoload.php'; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; $app = new \Silex\Application(); $app->get('/', function(Request $request) { return new Response('Hello world!', 200); }); $app = (new \Stack\Builder()) ->push('Swop\GitHubWebHookStackPHP\GitHubWebHook', 'my_secret') ->resolve($app) ; $request = Request::createFromGlobals(); $response = $app->handle($request)->send(); $app->terminate($request, $response);
Symfony示例
# web/app_dev.php use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Debug\Debug; $loader = require_once __DIR__.'/../app/bootstrap.php.cache'; Debug::enable(); require_once __DIR__.'/../app/AppKernel.php'; $kernel = new AppKernel('dev', true); $kernel->loadClassCache(); $stack = (new Stack\Builder()) ->push('Swop\GitHubWebHookStackPHP\GitHubWebHook', 'my_secret') ; $kernel = $stack->resolve($kernel); Request::enableHttpMethodParameterOverride(); $request = Request::createFromGlobals(); $response = $kernel->handle($request); $response->send(); $kernel->terminate($request, $response);
贡献
查看CONTRIBUTING文件。
原始贡献者
- Sylvain MAUDUIT (@Swop)为主要作者。
许可协议
此库在MIT许可下发布。请参阅包含的LICENSE文件的完整许可协议。