hogus/api-signature

laravel api 签名

1.0 2024-05-13 04:54 UTC

This package is auto-updated.

Last update: 2024-09-13 05:43:11 UTC


README

安装

composer require hogus/api-signature

发布配置

php artisan vendor:publish --provider=Hogus\\ApiSignature\\ApiSignatureServiceProvider

环境变量

#sign
API_SIGN_ENABLED=true
API_SIGN_SECRET=secret
#API_SIGN_KEY=sign
#API_SIGN_TIMESTAMP_KEY=timestamp
#API_SIGN_TIMEOUT=60

Http 中间件

将 API 签名中间件添加到你的 Kernel.php 文件中的中间件别名中

protected $middlewareAliases = [
    //...,
    'sign' => \Hogus\ApiSignature\Middleware\ApiSignature::class,
]

路由器

将签名中间件应用于所需的路由或路由组

Route::middleware('sign:api')->group(function () {
    // your routes
});

这确保了这些路由的所有请求都将验证 API 签名。

自定义异常(选项)

如果你想以自定义方式处理 API 签名验证异常,你可以在你的 app/Exceptions/Handler.php 文件中定义一个可渲染的闭包。例如,返回包含错误消息的 JSON 响应

use Hogus\ApiSignature\ApiSignatureException;
$this->renderable(function (ApiSignatureException $exception, $request) {
    return response()->json(['message' => $exception->getMessage()]);
});

支持

  • MD5
  • 哈希(sha256)