yetione / gateway-request-laravel
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: 2024-09-29 05:55:57 UTC
README
该包旨在检查来自 gateway 的请求。包含用于 Laravel/Lumen 的用户 guard 和 auth 类。
配置
提供者
需要注册 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
中添加新的 guard 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, ] ] ];