setiawanhu/sanctum-auth

Laravel Sanctum 生成用户认证功能的包

2.0.0 2022-08-29 17:28 UTC

This package is auto-updated.

Last update: 2024-09-15 20:40:58 UTC


README

Latest Stable Version Total Downloads License

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]

此命令将生成开箱即用的认证路由。

注意

  1. type 参数是可选的,默认值为 token。控制器将基于提供的参数值生成。可用类型为 tokenspa

  2. --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 的更多使用细节