Download the PHP package darknesser/laravel-api-auth without Composer
On this page you can find all versions of the php package darknesser/laravel-api-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-api-auth
laravel-api-auth
laravel API 鉴权
这是一个 laravel 的 API 鉴权包, laravel-api-auth
采用 jwt token
的鉴权方式,只要客户端不被反编译从而泄露密钥,该鉴权方式理论上来说是安全的。
PS: web 前端 API 没有绝对的安全,该项目的本意是给不暴露源码的客户端提供一种鉴权方案(如 service、APP客户端)。
安装
配置
-
注册
ServiceProvider
:laravel 5.5+ 版本不需要手动注册
-
发布配置文件
-
在
App\Http\Kernal
中注册中间件 -
添加
role
然后按照格式把
access_key
和secret_key
添加到,config/api_auth.php
里面的roles
数组中。 -
自定义签名方法 (可选)
config/api_auth.php
中的signature_methods
可以添加自定义的签名类,该类需要继承自SunD1ng\LaravelApiAuth\Signatures\SignatureInterface
接口 - 自定义错误处理
token 校验不通过的情况下会抛异常,请在
Handler
捕获后自行处理。 目前有三种异常 :- AccessKeyException
- InvalidTokenException
- SignatureMethodException
使用
路由中
通过验证后
$request
会添加一个client_role
字段,该字段为客户端的角色名称。
前端
本例子为
web
前端的例子,其他客户端同理,生成签名并且带上指定参数即可正常请求。 通过自定义签名方法和自定义校验方法,可以使用其他加密方法进行签名,例如哈希
等其他加密算法。