LaravelPackages.net
Acme Inc.
Toggle sidebar
diplodocker/auth-service

Laravel JWT auth service package

1.497
0
0.1.2
About diplodocker/auth-service

diplodocker/auth-service is a Laravel package for laravel jwt auth service package. It currently has 0 GitHub stars and 1.497 downloads on Packagist (latest version 0.1.2). Install it with composer require diplodocker/auth-service. Discover more Laravel packages by diplodocker or browse all Laravel packages to compare alternatives.

Last updated

About

Build Status GitHub issues Made for Laravel PHP from Packagist

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_NAME and ATTR_EMAIL constants to User model
<?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) AppServiceProvider or BindServiceProvider
  • Bind interface to the model in boot method

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 |

Star History Chart