mitoop/laravel-signature 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-20