siewwp / laravel-service-consumer
使用 HMAC 验证机制的 Laravel 服务器到服务器服务消费者
v1.1.1
2018-07-30 08:18 UTC
Requires
- siewwp/php-hmac-http: ^1.1.2
- symfony/psr-http-message-bridge: ~1.0
- zendframework/zend-diactoros: ^1.7
Requires (Dev)
- illuminate/http: ~5.3
- illuminate/routing: ~5.3
- vlucas/phpdotenv: ~2.0
This package is not auto-updated.
Last update: 2024-09-29 04:49:00 UTC
README
使用 hmac 验证机制进行服务器到服务器服务消费。
安装
composer require siewwp/laravel-service-consumer:dev-master
用法
绑定你的密钥
你应该在你的 ServiceProvider
中绑定你的应用 ID 和密钥。
有关更多信息,请参考 Hmac http client。
有关更多信息,请参考 Laravel Container。
处理 webhook 通知
如果服务主机使用 webhook 通知事件,你可以在控制器中定义你的 webhook 处理器,并扩展到 webhook 控制器,如下所示
<?php namespace App\Http\Controllers; use Siewwp\LaravelServiceConsumer\Http\Controllers\Webhook; use App\Http\Controllers\Controller; class InvoiceController extends Controller { public function handleInvoicePaid($payload) { // ... } }
或者,你可以在控制器中使用 Siewwp\LaravelServiceConsumer\HandleWebhook
trait
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Siewwp\LaravelServiceConsumer\HandleWebhook; class InvoiceController extends Controller { use HandleWebhook; public function handleInvoicePaid($payload) { // ... } }
webhook 方法名称应该是 'handle' + 'CamelCase'
事件通知类型。在上面的示例中,是处理 InvoicePaid
类型的事件。
有关更多信息,请参考 laravel-service-host。
之后,你可以在 RouteServiceProvider.php
文件中注册 webhook 控制器。
<?php // ... public function boot() { // ... Route::post( 'tenant/webhook', '\App\Http\Controllers\InvoiceController@handleWebhook' ); } ...
你也可以在
web
路由中注册它,但你可能需要排除 CSRF 中间件
待办事项
测试