mitoop/laravel-signature
最新稳定版本:v2.7.2
Composer 安装命令:
composer require mitoop/laravel-signature
包简介
README 文档
README
Laravel Signature is a robust and flexible package for handling API signature validation and generation. It supports multiple signing methods and can be easily extended to fit your application's needs.
✨ Features
- Supports SHA256-RSA2048, SHA256-HMAC, and ED25519 signature methods.
- Customizable brand prefixes for signatures.
- Provides a flexible resolver interface for fetching application-specific configurations.
- Easily integrates with Laravel's service container.
📦 Installation
Install the package via Composer:
composer require mitoop/laravel-signature
⚙️ Configuration
Publish the configuration file:
php artisan vendor:publish --tag=config --provider="Mitoop\\LaravelSignature\\ServiceProvider"
This will create a config/signature.php file. Customize it as needed:
return [ 'brand' => 'your_brand', 'max_clock_offset' => 300, 'http_timeout' => 60, ];
🛡️Signature Validation Middleware
Laravel Signature provides a built-in middleware called ValidateSignature that verifies incoming API requests to ensure they are properly signed and not tampered with or replayed.
You can also create a custom middleware if you need more control over how the signature is verified or logged.
✅ Registering the Middleware
use Mitoop\LaravelSignature\Middlewares\ValidateSignature; Route::middleware([ValidateSignature::class])->group(function () { Route::post('/api/data/cities', [CityController::class, 'index']); });
🔄 Making Callback Requests
Laravel Signature also provides a Client class to help you send signed HTTP requests, which is useful for performing callback notifications.
✅ Example: Sending a Signed Callback
use Mitoop\LaravelSignature\Http\Client; $response = app(Client::class)->post('https://outer-service.com/api/notify', [ 'order_id' => '123456', 'status' => 'success', ], 'platform-private-key');
References
统计信息
- 总下载量: 55
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-20