Tetracode的Laravel API加密中间件

v1.0.2 2020-06-01 10:06 UTC

README

Total Downloads Latest Stable Version Latest Unstable Version License

Ncoder是一个简单的API调用加密中间件包,旨在与Laravel框架协同工作。

安装Ncoder

通过Composer安装。

composer require tetracode/ncoder

配置

  • 注册服务提供者

在Laravel 5.5或更高版本中,无需添加服务提供者

如果你使用的是Laravel 5.4或更低版本,请将服务提供者添加到Config/app.php的providers数组中

'providers' => [
  Tetracode\Ncoder\NcoderBaseServiceProvider::class,
 ],
  • 注册中间件

将Ncoder中间件添加到App/Http/Kernel.php中的routeMiddleware数组中

 protected $routeMiddleware = [

 'ncoder'=>\Tetracode\Ncoder\Http\Middleware\EncryptHttp::class,
 'xncoder'=>\Tetracode\Ncoder\Http\Middleware\ForceEncryptHttp::class,
 ]
  • 发布配置文件

php artisan vendor:publish --tag ncoder-config
  • 生成密钥

php artisan ncoder:secret

中间件类型

ncoder:这将仅加密前端请求的响应。xncoder:这将加密所有请求的响应,无论是否来自前端。

用法

路由

Route::middleware('ncoder')->post('api-endpoint', 'ApiController@store');

//Force Encrypt Response
Route::middleware('xncoder')->post('api-endpoint', 'ApiController@store');

Route::group(['middleware' => ['ncoder']], function () {
   Route::post('api-endpoint', 'ApiController@store');
});

//Force Encrypt Response
Route::group(['middleware' => ['xncoder']], function () {
   Route::post('api-endpoint', 'ApiController@store');
});

控制器

class UserController extends Controller {

    public function __construct() {
        $this->middleware(['ncoder']);
    }

    public function index() {
         return response()->json(User::all());
    }
}

或者

class UserController extends Controller {

    public function __construct() {
        $this->middleware(['xncoder']);
    }

    public function index() {
        return response()->json(User::all());
    }
}

鸣谢

Vue包

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件