ak86/slash-command-request-validator-for-slack

一个简单的PHP包,用于验证通过Slack应用斜杠命令发送的请求。

v1.0.5 2021-10-07 09:34 UTC

This package is auto-updated.

Last update: 2024-09-07 15:48:36 UTC


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()

许可证

MIT

作者

Amila Kalansooriya