PHPackages                             liunian/laravel-api-auth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. liunian/laravel-api-auth

ActiveLibrary

liunian/laravel-api-auth
========================

laravel API 鉴权

023PHP

Since May 23Pushed 5y ago1 watchersCompare

[ Source](https://github.com/liunian-zy/laravel-api-auth)[ Packagist](https://packagist.org/packages/liunian/laravel-api-auth)[ RSS](/packages/liunian-laravel-api-auth/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

laravel-api-auth
================

[](#laravel-api-auth)

laravel API 鉴权

注:本包是在[qbhy/laravel-api-auth](https://github.com/qbhy/laravel-api-auth)基础上修改的,修复了高版本php中list函数在本包中的小bug

这是一个 laravel 的 API 鉴权包， `laravel-api-auth` 采用 `jwt token` 的鉴权方式，只要客户端不被反编译从而泄露密钥，该鉴权方式理论上来说是安全的。 PS: web 前端 API 没有绝对的安全，该项目的本意是给不暴露源码的客户端提供一种鉴权方案(如 service、APP客户端)。

安装
--

[](#安装)

```
composer require liunian/laravel-api-auth
```

配置
--

[](#配置)

1. 注册 `ServiceProvider`:

    ```
    Liunian\LaravelApiAuth\ServiceProvider::class,
    ```

    > laravel 5.5+ 版本不需要手动注册
2. 发布配置文件

    ```
    php artisan vendor:publish --provider="Liunian\LaravelApiAuth\ServiceProvider"
    ```
3. 在 `App\Http\Kernal` 中注册中间件

    ```
    protected $routeMiddleware = [
        'api_auth' => \Liunian\LaravelApiAuth\Middleware::class,
        // other ...
    ];
    ```
4. 添加 `role`

    ```
    php artisan api_auth
    ```

    然后按照格式把 `access_key` 和 `secret_key` 添加到, `config/api_auth.php` 里面的 `roles` 数组中。

    ```
    'roles' => [
        '{access_key}' => [
            'name' => '{role_name}',        // 角色名字，例如 android
            'secret_key' => '{secret_key}',
        ],
    ],
    ```
5. 自定义签名方法 (可选) `config/api_auth.php` 中的 `signature_methods` 可以添加自定义的签名类，该类需要继承自 `Liunian\LaravelApiAuth\Signatures\SignatureInterface` 接口

    ```
