kelude/laravel-forwarder
Composer 安装命令:
composer require kelude/laravel-forwarder
包简介
Laravel Forwarder.
README 文档
README
A Laravel package to easily handle incoming MessageForwarder webhooks.
Installation
You can install the package via composer:
composer require kelude/laravel-message-forwarder:dev-main
After installing, run the install command to scaffold the necessary files:
php artisan message-forwarder:install
This command will:
- Publish the configuration file to
config/message_forwarder.php. - Publish the webhook handler action to
app/Actions/MessageForwarder/HandleWebhook.php. - Publish and register the
MessageForwarderServiceProviderin your application.
Usage
Handling Webhooks
The package uses an Action class to handle incoming webhooks. After installation, you can find the handler at app/Actions/MessageForwarder/HandleWebhook.php.
You should modify the handle method in this class to implement your custom logic (e.g., saving the messages to the database, forwarding it to Telegram/Slack, etc.).
<?php namespace App\Actions\MessageForwarder; use Illuminate\Http\Request; // use Illuminate\Support\Facades\Log; use Kelude\MessageForwarder\Contracts\HandlesWebhooks; use Symfony\Component\HttpFoundation\Response; class HandleWebhook implements HandlesWebhooks { /** * Handle a webhook call. * * @param Request $request * @return Response */ public function handle(Request $request): Response { // Log::info('Webhook Received', $request->all()); // Your logic here... return new Response('Webhook Handled', Response::HTTP_OK); } }
Configuration
You can configure the package in config/message_forwarder.php.
Route Prefix
By default, the webhook route is available at /message-forwarder/webhook. You can change the prefix in the config or via .env:
MESSAGE_FORWARDER_PREFIX=custom-prefix
Middleware
You can add custom middleware to the webhook route in config/message_forwarder.php:
'middleware' => ['api'],
Security: Webhook Signature Verification
To ensure that the webhook requests are coming from a trusted source, you should configure a webhook secret.
-
Set the secret in your
.envfile:MESSAGE_FORWARDER_WEBHOOK_SECRET=your-secret-key
-
The package will automatically verify the signature included in the request body (
signparameter) using this secret.
If the secret is not set, signature verification is skipped (not recommended for production).
Testing
You can run the tests with:
vendor/bin/pest
License
The MIT License (MIT).
统计信息
- 总下载量: 14
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-02