yetione / gateway-request-laravel
Gateway request module for Laravel
1.0
2020-09-23 10:37 UTC
Requires
- illuminate/auth: ^7
- illuminate/contracts: ^7
- illuminate/database: ^7
- illuminate/http: ^7
- illuminate/log: ^7
- illuminate/support: ^7
- laravel/passport: ^7
- psr/log: ^1.1
- tymon/jwt-auth: ^1.0
- webpatser/laravel-uuid: ^3.0
- yetione/php-json: ^1.2
This package is auto-updated.
Last update: 2025-01-29 07:07:55 UTC
README
Пакет предназначен для проверки запросов из gateway. Содержит в себе класс пользователя guard, auth для Laravel/Lumen.
Настройки
Провайдеры
Необходимо зарегистрировать 2 сервис провайдера:
- Yetione\GatewayRequest\Logging\LaravelLoggingServiceProvider &mdsah; используется для настройки логгера, добавляя к нему TagProcessor и устанавливая request_id;
- Yetione\GatewayRequest\Providers\GatewayServiceProvider — используется для регистрации guards и auth в сервисах фреймворка
Laravel
<?php // config/app.php use Yetione\GatewayRequest\Logging\LaravelLoggingServiceProvider; use Yetione\GatewayRequest\Providers\GatewayServiceProvider; return [ 'providers'=>[ LaravelLoggingServiceProvider::class, GatewayServiceProvider::class ], ];
Lumen
<?php // bootstrap/app.php use Yetione\GatewayRequest\Logging\LumenLoggingServiceProvider; use Yetione\GatewayRequest\Providers\GatewayServiceProvider; $app->register(LumenLoggingServiceProvider::class); $app->register(GatewayServiceProvider::class);
.env
В файле .env
необходимо указать следющие параметры:
- JWT_SECRET — используется для подписи ключа
- JWT_PRIVATE_KEY — путь до приватного ключа
- JWT_PUBLIC_KEY — путь до публичного ключа
- JWT_ALGO — алгоритм шифрования
Пример
JWT_SECRET=XUu7XghJ3NFmoZ4nz7fKRRmaGogE4xZbCTT2xbyqESLeGeAQ3klIziNvaj6OuT0d JWT_PRIVATE_KEY=file:///app/storage/keys/private_key.pem JWT_PUBLIC_KEY=file:///app/storage/keys/ecdsa-p521-public.pem JWT_ALGO=ES512
config/auth.php
Для использования необходимо в config/auth.php
добавить новый guardm provider и установить guard по-умолчанию.
При такой настройке будут проверяться все входящие запросы.
<?php // config/auth.php use Yetione\GatewayRequest\Enums\GatewayAuth; [ 'defaults' => [ 'guard' => GatewayAuth::AUTH, 'passwords' => 'users', ], 'guards'=> [ GatewayAuth::AUTH=>[ 'driver'=> GatewayAuth::AUTH_GUARD, 'provider'=> GatewayAuth::AUTH_PROVIDER ] ], 'provider'=>[ GatewayAuth::AUTH_PROVIDER=>[ 'driver'=> GatewayAuth::AUTH_PROVIDER, ] ] ];