diplodocker / auth-service
Laravel JWT 认证服务包
0.1.2
2022-10-11 13:10 UTC
Requires
- php: ^7.1.3
- tymon/jwt-auth: dev-develop
This package is auto-updated.
Last update: 2024-09-11 18:04:08 UTC
README
关于
Laravel JWT 认证服务包 – 这只是对 tymon/jwt-auth
包的一个包装,包括服务、控制器和工厂。
包含
- 控制器
- 路由
- 服务
- 请求
- 工厂
安装
composer require diplodocker/auth-service
配置 User
模型
- 实现
Diplodocker\Services\Contracts\AuthorizationInterface
- 使用
Diplodocker\Services\Concerns\CanUseAuthorizationTokens
(或实现特性中的方法) - 将
TABLE_NAME
和ATTR_EMAIL
常量添加到User
模型
<?php declare(strict_types=1); namespace App\Models; use Diplodocker\Services\Concerns\CanUseAuthorizationTokens; use Diplodocker\Services\Contracts\AuthorizationInterface; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements AuthorizationInterface { // ... use CanUseAuthorizationTokens; public const TABLE_NAME = 'users'; public const ATTR_EMAIL = 'email'; // ... }
绑定接口
- 打开(或创建)
AppServiceProvider
或BindServiceProvider
- 在
boot
方法中将接口绑定到模型
示例
<?php declare(strict_types=1); namespace App\Providers; use App\Models\User; use Illuminate\Support\ServiceProvider; use Diplodocker\Services\Contracts\AuthorizationInterface; class AppServiceProvider extends ServiceProvider { public function boot() { $this->app->bind( AuthorizationInterface::class, User::class ); } }
配置 auth
配置
'defaults' => [
+ 'guard' => 'api',
],
'guards' => [
'api' => [
+ 'driver' => 'jwt',
...
],
],
运行命令
php artisan jwt:secret