ypa/abstract-api

API额外安全性的抽象包

2.1.0 2020-04-29 10:42 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:29 UTC


README

Laravel

  1. 将服务提供者添加到 config/app.php
/*
 * Package Service Providers...
 */
\Ypa\AbstractApi\AbstractApiServiceProvider::class,
  1. 运行 php artisan vendor:publish 以发布配置文件;
  2. 添加 .env 变量及其值;
  3. 将中间件添加到 App\Http\Kernel.php 中的 $routeMiddleware
'abstract.api' => \Ypa\AbstractApi\AbstractApiMiddleware::class,
  1. 并且建议您将其添加到同一文件中的 api
'api' => [
    'throttle:60,1',
    'bindings',
    'abstract.api
],
  1. 对于发送,您可以将 AbstractApiValidationTrait 添加到您的控制器中。
  2. 在您的API请求之前,您可以使用以下方法
$form_params = $this->addTimeAndSignature(request()->all());

就是这样!

Lumen

  1. 添加 .env 变量及其值;
YPA_ABSTRACT_API_TIME_DIFFERENCES=30
YPA_ABSTRACT_API_HASH_SECRET="${APP_KEY}"
YPA_ABSTRACT_API_HASHTYPE=sha512
YPA_ABSTRACT_API_DEBUG=true
YPA_ABSTRACT_API_DISABLE=false
  1. 将中间件添加到您的引导文件中。
$app->routeMiddleware([
    'abstract.api' => \Ypa\AbstractApi\AbstractApiMiddleware::class,
]);,
  1. 将中间件添加到您想要保护的路由中,就像在Lumen中添加其他中间件一样。
  2. 对于发送,您可以将 AbstractApiValidationTrait 添加到您的控制器中。
  3. 在您的API请求之前,您可以使用以下方法
$form_params = $this->addTimeAndSignature(request()->all());

就是这样!