siewwp/laravel-service-consumer

使用 HMAC 验证机制的 Laravel 服务器到服务器服务消费者

v1.1.1 2018-07-30 08:18 UTC

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 中间件

待办事项

测试