diplodocker / auth-service
Laravel JWT auth service package
Fund package maintenance!
Patreon
Installs: 1 497
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/diplodocker/auth-service
Requires
- php: ^7.1.3
- tymon/jwt-auth: dev-develop
This package is auto-updated.
Last update: 2025-10-11 20:15:00 UTC
README
About
Laravel JWT auth service package – this is just a wrapper over a tymon/jwt-auth package that includes services, controllers and a factory.
Contains:
- Controllers
- Routes
- Services
- Requests
- Factory
Install
composer require diplodocker/auth-service
Configure User model
- Implement
Diplodocker\Services\Contracts\AuthorizationInterface - Use
Diplodocker\Services\Concerns\CanUseAuthorizationTokens(or implement methods from trait) - Add
TABLE_NAMEandATTR_EMAILconstants toUsermodel
<?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'; // ... }
Bind interface
- Open (or create)
AppServiceProviderorBindServiceProvider - Bind interface to the model in
bootmethod
Example:
<?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 ); } }
Configure auth config
'defaults' => [
+ 'guard' => 'api',
],
'guards' => [
'api' => [
+ 'driver' => 'jwt',
...
],
],
Run command
php artisan jwt:secret
Routes
| Method | URI | Route | Required params |
|---|---|---|---|
GET |
auth/check |
auth-service.check |
none |
POST |
auth/login |
auth-service.login |
email, password |
GET |
auth/logout |
auth-service.logout |
none |
POST |
auth/register |
auth-service.register |
email, password |