setiawanhu / sanctum-auth
Laravel Sanctum 生成用户认证功能的包
2.0.0
2022-08-29 17:28 UTC
Requires
- php: ^8.0.2
- ext-json: *
- illuminate/database: ^9.21
- illuminate/support: ^9.21
- laravel/sanctum: ^3.0
README
Laravel Sanctum 生成用户认证功能的包
有关 Laravel Sanctum 的信息和使用方法,请参阅 Laravel Sanctum 文档。
开始使用
通过在项目根目录中调用此 composer 命令来包含 Sanctum Auth 包
composer require setiawanhu/sanctum-auth
注意:此包仅支持 Laravel 9
用法
我们可以使用 vendor:publish
artisan 命令发布 Sanctum Auth 迁移文件
php artisan vendor:publish --provider="Hu\Auth\SanctumAuthServiceProvider"
此命令将用户角色的迁移文件复制到 /database/migrations 文件夹,并发布 laravel/sanctum
配置和迁移文件。
然后,通过运行以下命令执行 Sanctum Auth artisan 命令
php artisan sanctum-auth:controller [{type} --force]
此命令将生成开箱即用的认证路由。
注意
-
type
参数是可选的,默认值为token
。控制器将基于提供的参数值生成。可用类型为token
和spa
。 -
--force
选项是可选的。我们可以用它来忽略现有的控制器。
然后,将 User
模型修改为扩展 AuthModel
类
use Hu\Auth\AuthModel; class User extends AuthModel { //... }
使用角色
如果 User
有角色,我们可以在 User
模型中使用 HasRole
trait
use Hu\Auth\HasRole; class User extends AuthModel { use HasRole; //... }
然后,向用户表添加一个新字段
//... Schema::create('users', function (Blueprint $table) { //... $table->unsignedBigInteger('role_id') //... } //...
然后,运行数据库迁移命令
php artisan migrate
深入了解
请查阅 wiki 了解 sanctum-auth 的更多使用细节