Skip to content

this pack help you to provide your user from different service ( useful in microservice )

License

Notifications You must be signed in to change notification settings

amin3536/laravel-API-UserProvider

Repository files navigation

LaravelApiUserProvider

Latest Version on Packagist Total Downloads tests workflow StyleCI

this pack help you to provide your user from different service ( useful in micro service )

how this package work

this package use bearer token in header's request and provide user from Sec Service (Auth service)

Installation

Via Composer

$ composer require amin3536/laravel-api-user-provider

Usage

simple usage this driver : change your auth.php in config like below

<?php

return [
    
        //.......
    /*
    |--------------------------------------------------------------------------
    | Authentication Guards
    |--------------------------------------------------------------------------
    */
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'api-token',
            'provider' => 'users',
        ],

        'admin-api' => [
            'driver' => 'api-token',
            'provider' => 'admins',
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | User Providers
    |--------------------------------------------------------------------------
    |
    */

    'providers' => [
        'users' => [
            'driver' => 'api-provider',
            'model' => App\Models\User::class,
           //merged with base_url or you can use full path api here  =>http://localhost/api/admin/
            'url' => '/api/v1/user/'
        ],
        'admins' => [
            'driver' => 'api-provider',
            'model' => App\Models\Admin::class,
            'url' => '/api/v1/admin/'
        ],
    ],
     /*
        |--------------------------------------------------------------------------
        | Base url path to to call Auth Service 
        |--------------------------------------------------------------------------
        |
        */
        'base-url'=>'localhost',
        'TimeoutForRequestAuthServer'=>2
    //.......
];

advance

if you want use custom Deserializer class ,the class must be implement DeserializerInterface and add below code in boot method of AuthServiceProvider .

<?php
    //...
    public function boot()
    {

        $this->app->when(ExternalUserProvider::class)
            ->needs(DeserializerInterface::class)
            ->give(function () {
                return new JsonToModel();
            });
    }
    

Change log

Please see the changelog for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

License

license. Please see the license file for more information.

About

this pack help you to provide your user from different service ( useful in microservice )

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages