Laravel package for generating user authentication feature using Laravel Sanctum
For information & usage about Laravel Sanctum, please refer to Laravel Sanctum documentation.
Include the Sanctum Auth package by calling this composer command in project root:
composer require setiawanhu/sanctum-auth
Note: This package is only supporting Laravel 9
We may publish the Sanctum Auth migration files using vendor:publish
artisan command:
php artisan vendor:publish --provider="Hu\Auth\SanctumAuthServiceProvider"
This command will copy the user role's migration file to /database/migrations folder and will publish the laravel/sanctum
configuration and migration files.
Then, run Sanctum Auth artisan command by running:
php artisan sanctum-auth:controller [{type} --force]
This command will generate the auth routing out of the box.
Note:
-
The
type
argument is optional with default value aretoken
. The controller will be generated based on given argument value. Available types aretoken
andspa
. -
The
--force
option is optional. We may use it for ignoring existing controller.
Then, make User
model to extend AuthModel
class:
use Hu\Auth\AuthModel;
class User extends AuthModel {
//...
}
if the User
has roles, we may use the HasRole
trait to the User
model:
use Hu\Auth\HasRole;
class User extends AuthModel {
use HasRole;
//...
}
Then, we add a new field to the users table:
//...
Schema::create('users', function (Blueprint $table) {
//...
$table->unsignedBigInteger('role_id')
//...
}
//...
Then, run the database migration command:
php artisan migrate
Please check wiki for more details about sanctum-auth usage