compwright / x-hub-signature
PHP的X-Hub-Signature webhook签名实用工具
v1.0.0
2024-04-10 01:11 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.46
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2024-09-10 02:04:43 UTC
README
X-Hub-Signature是一种验证来自Facebook、GitHub或使用此签名方案的任何其他来源的webhooks的有效方法。
为了避免安全风险,包括时间攻击,已经采取了相应的措施。
入门
安装
composer require compwright/x-hub-signature
用法
对包含请求数据的缓冲区进行签名
<?php use Compwright\XHubSignature; use InvalidArgumentException; $signer = new XHubSignature\Sha256(); // Generate the signature header for an outbound webhook, i.e. // // X-Hub-Signature-256: sha256=... // $headerName = $signer->getHeaderName(); $headerValue = $signer->sign($requestBody, $secret); $signatureHeader = $headerName . ': ' . $headerValue; // Verify an inbound webhook $isValid = $signer->verify($signatureHeaderValue, $requestBody, $secret); if ($isValid === false) { throw new InvalidArgumentException('Bad Request'); }
许可证
MIT许可证