Sphinx is a feature reach Jwt-based authentication system that make zero queries to database during authorization.
Install the package via composer.
composer require hans-thomas/sphinx
Then, publish config file.
php artisan vendor:publish --tag sphinx-config
First, use Hans\Sphinx\Traits\SphinxTrait trait on your model and then implement the abstract methods. Next, inside
your model, make sure to call the hooks method in your booted method.
use SphinxTrait, SphinxTrait {
SphinxTrait::hooks as private sphinxHooks;
}
protected static function booted() {
self::sphinxHooks();
}
First of all, define the provider.
'providers' => [
// ...
'sphinxUsers' => [
'driver' => 'sphinx',
'model' => App\Models\User::class,
],
// ...
],
Then, add your guard.
'guards' => [
// ...
'jwt' => [
'driver' => 'sphinxJwt',
'provider' => 'sphinxUsers',
],
// ...
],
And finally, you can set the jwt guard as default.
'defaults' => [
// ...
'guard' => 'jwt',
// ...
],
All sets. enjoy!
Read more about Sphinx in documentation website.
How can I help you explore Laravel packages today?