Download the PHP package mitoop/laravel-signature-guard without Composer
On this page you can find all versions of the php package mitoop/laravel-signature-guard. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-signature-guard
Laravel Request Guard
系统间接口调用是开发中经常遇到的场景, 安全, 客户端发起请求方便, 服务端处理请求方便, 灵活的配置等都是设计时候考量的因素.
安全 :
系统间接口交互通常都是基于 HMAC (消息认证码)的方式来保证安全, HMAC 有哈希, 有密匙, 密匙保存在服务端, 所以很适合系统间接口的安全验证.
Laravel Request Guard 使用 sha256
哈希函数, sha256目前足够安全(相对于sha1
md5
) 快速(相对于sha3
).
Laravel Request Guard 使用 nonce
+ timestamp
来防止重放攻击.
请求 :
Laravel Request Guard 依赖并使用 guzzle/guzzle
来完成请求发起, 参数设置和 guzzle/guzzle
保持一致,
同时在使用上运用了 Laravel Manager 的语法糖, 构建请求方便灵活, 详情看下方 请求
部分.
响应 :
每次请求总会返回 \Mitoop\ApiSignature\SignatureResponse
对象(即使服务端发生了异常), 该对象提供了简洁有力的方法来告别try catch
. 详情看下方 响应
部分.
配置 :
配置支持多客户端, 并且支持同时充当客户端和服务端.
须知 :
只支持 Laravel.
安装 Install
composer require mitoop/laravel-signature-guard
要求 Require
- Laravel 5.8 (当前线上运行在5.8, 其他版本未做测试)
- PHP 7.1.3+
配置 Config
1 . 安装过后运行 php artisan vendor:publish --provider="Mitoop\Signature\ServiceProvider"
,会生成 config/api-clients.php
配置文件.
2 . 如果需要使用 Facade
3 . api-clients.php
配置说明
请求 Request
请求支持 get
, post
, put
, delete
四种方法. 下面以 post
方法为例. 假如设置了alias
为 Client
向其他客户端发起请求 这个时候需要指定 connect
的客户端
响应 Response
每次请求总会返回 \Mitoop\Signature\SignatureResponse
对象(即使服务端发生了异常),
该对象提供了简洁有力的方法来告别try catch
.
更多使用方法参考 这里
事件 Events
requesting 和 requested 是请求前和请求后的事件,可以方便地对请求进行额外的处理.
作为服务端
Laravel Request Guard 使用 Laravel 本身提供的 guard
机制来完成身份验证.
首先需要配置一个 guard :
其次定义路由中间件, Laravel Request Guard 本身提供了一个中间件 \Mitoop\Signature\Middleware\RequestGuardAuth
假如你使用该中间件 那么在 \App\Http\Kernel
的 $routeMiddleware
上配置 :
\Mitoop\Signature\Middleware\RequestGuardAuth
中间件非常简单, 你也可以自己定义一个中间件.
最后在路由里使用 auth.signature:server-api
中间件就可以了
其他可用的 Auth 方法
Contributor
All versions of laravel-signature-guard with dependencies
ext-json Version *
guzzlehttp/guzzle Version ^6.3
illuminate/support Version 5.8.*
moontoast/math Version ^1.1