ak86 / slash-command-request-validator-for-slack
一个简单的PHP包,用于验证通过Slack应用斜杠命令发送的请求。
v1.0.5
2021-10-07 09:34 UTC
Requires
- php: >=5.6
README
一个简单的PHP包,用于验证通过Slack应用斜杠命令发送的请求。该包旨在解决以下HTTP端点要求:
- 验证HTTP请求方法,确保它是POST
- 验证X-Slack-Request-Timestamp头,以减轻重放攻击
- 验证HTTP有效负载,确保它不为空
- 验证Slack请求签名
请参阅以下Slack文档以获取有关其端点要求的完整信息
要求
- PHP 5.6或更高版本
- Slack签名密钥
安装
您可以使用Composer在项目的根目录中运行以下命令来安装此包
composer require ak86/slash-command-request-validator-for-slack
请确保将您的Slack签名密钥作为环境变量添加到您运行脚本的服务器上。环境变量应命名为SLACK_SIGNING_SECRET
。您可以在Slack应用的仪表板中的“基本信息”部分找到您的Slack签名密钥。
基本用法
在您的应用中,其中Slack斜杠命令配置为发送其请求
// require composer autoloader
require_once 'vendor/autoload.php';
use Ak86\SlashCommandRequestValidator;
try {
// simply call validate() static method to validate the incoming request
SlashCommandRequestValidator::validate()
}
catch (Exception $e){
echo $e->getMessage();
exit;
}
可选,您可以设置自原始时间戳以来的秒数,该时间戳用于确定请求可以被视为安全的时间
// set the number of seconds
SlashCommandRequestValidator::reqAllowedWithin = 500;
// call validator
SlashCommandRequestValidator::validate()