glesys / butler-auth
v7.0.0
2024-05-29 06:31 UTC
Requires
- php: ^8.2
- illuminate/bus: ^11.0
- illuminate/contracts: ^11.0
- illuminate/database: ^11.0
- illuminate/queue: ^11.0
- illuminate/support: ^11.0
Requires (Dev)
- laravel/pint: ^1.14
- mockery/mockery: ^1.6.9
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^10.5.13
This package is auto-updated.
Last update: 2024-09-26 00:50:43 UTC
README
Butler Auth
一个受 Laravel Sanctum 启发的最小化令牌认证包。 Laravel Sanctum。
安装
需要一个运行中的 Laravel 应用程序和数据库连接,以及一个队列工作者和一个缓存存储,如 redis 或 memcached。
composer require glesys/butler-auth php artisan vendor:publish --tag=butler-auth-migrations php artisan migrate
生成令牌
- 在你的消费者模型上实现
Butler\Auth\Models\Contracts\HasAccessTokens
。 - 在你的消费者模型上使用
Butler\Auth\Models\Concerns\HasAccessTokens
。
$token = $consumer->createToken(abilities: ['*'], name: 'my token')->plainTextToken;
删除令牌
由于在获取访问令牌时发生的缓存,因此通过模型删除令牌非常重要,而不是直接在数据库中删除。
// Delete access token by ID AccessToken::find($id)->delete(); // Delete all tokens for a consumer $consumer->tokens->map->delete();
保护路由
参见 Laravel 文档。
// If "butler" is configured as your default guard Route::view('/protected', 'protected')->middleware('auth'); // Or specify the guard Route::view('/protected', 'protected')->middleware('auth:butler');
认证
将令牌作为 Bearer
令牌传递到 Authorization
标头中。
测试
vendor/bin/phpunit vendor/bin/pint --test
如何贡献
开发在 GitHub 上进行;任何使用 Pull Requests 的典型工作流程都受欢迎。在同一种精神下,我们使用 GitHub 问题跟踪器来处理所有报告(无论报告的性质、功能请求、错误等)。
所有更改都应覆盖单元测试,如果测试不可能或非常不实际,则需要在 pull request 的评论部分进行讨论。
代码标准
由于库旨在用于 Laravel 应用程序,我们鼓励代码标准遵循 上游 Laravel 实践 - 简而言之,这意味着 PSR-2 和 PSR-4。