kerwinzc/easyauth

API接口签名验证与Token授权验证

v3.0 2018-06-26 02:33 UTC

This package is not auto-updated.

Last update: 2025-07-06 08:28:59 UTC


README

安装

下载

composer require kerwinzc/easyauth

创建配置文件

php artisan vendor:publish --provider="Kerwinzc\EasyAuth\ServiceProvider"

文件内容如下,自行修改

<?php
return [
    'request' => [
        // Api请求sign加密盐值
        'api_request_salt' => env('API_REQUEST_SALT', 'default'),
        // Token过期时间
        'token_expired'    => 10080,
        // 是否开启单点登录
        'api_check_only'   => false,
        // 是否开启调试模式
        'api_debug' => false,
        // 调试模式传入user_id
        'api_debug_user_id' => 1,
    ],
];

使用

注册服务提供者

config/app.php 注册 ServiceProvider

'providers' => [
    // ...
    Kerwinzc\EasyAuth\ServiceProvider::class,
]

创建token

$token = app('easyauth')->make($user_id);

使用签名验证中间件

客户端签名生成规则

ksort(request()->input());

$string = '';
foreach ($data as $key => $value) {
    $string .= $key . '=' . $value . '&';
}

$salt = 'config中定义的api_request_salt盐值';
$string .= $salt;

$sign = md5($string);
// 发送数据中添加签名sign字段为$sign

前往app/Http/Kernel.php中注册中间件

protected $routeMiddleware = [
    // ...
    'easyauth' => \Kerwinzc\EasyAuth\Middleware\Check::class,
];

在需要签名验证的路由上添加中间件

Route::group(['middleware' => ['web', 'easyauth']], function () {
    Route::get('/user', function () {
        $user_id = request()->get('user_id'); // 拿到用户ID

        dd($user_id);
    });
});